/*
* Maschinennahe Programmierung
* Kapitel "Schnittstellenvererbung"
* Mark Minas, 2012
*/

interface I5 {
f(); // kein Rueckgabetyp!
}

interface I4 {
g();
}

interface I1 extends I5 {
j();
}

interface I2 extends I5, I4 {
h();
}

interface I3 extends I4 {
i();
}

class A {
f() { }
g() { }
h() { }
}

class B extends A implements I1 {
f() { }
j() { }
}

class C extends A implements I2, I3 {
g() { }
i() { }
}

class D extends A implements I3 {
i() { }
}