Interface



  • @Helium: In der Tat kann man mehrere Interfaces implementieren und ein Interface kann auch von mehreren Interfaces "abgeleitet" werden. Da man aber nie ein Objekt eines Interfaces (direkt) erzeugen kann ist damit die "Mehrfachvererbung" wieder weg, da sie nicht direkt nutzbar ist.



  • ich finde, diese auseinandersetzung könnte ins faq.. interfaces gibts da noch nicht..



  • Original erstellt von CengizS:
    Nur die Tatsache, dass man - wie O'Dog schon angedeutet hat - mehrere Interfaces implementieren kann ist kein Beweis für Mehrfachvererbung zumal man in Interfaces keine fertig implementierte Methode schreiben kann (ganz im Gegensatz zu abstrakten Klassen).

    Ich meinte eigentlich nicht das mehrfache Implementieren(im Sinne von implements) von Interfaces, sondern die tatsächliche Mehrfachvererbung
    bei Interfaces selbst (nicht zu verwechseln mit Klassen-Vererbung).

    wie z.B.:

    public interface Effenberg {
    public void mundZu();
    }

    public interface Stefan {
    public void mundAuf();
    }

    public interface Playboy extends Stefan, Effenberg {
    public void blubBlub();
    }
    hier: Mehrfachvererbung von Interfaces

    public class TestMultiple implements Playboy...usw.

    bis dänn, O'Dog



  • @O'Dog

    Das ist keine! Mehrfachvererbung. Das ist nicht mal eine ganz normale Vererbung. Vererbung bedeutet (unter anderem), dass du die Methoden von der geerbten Klasse mitbenutzen kannst. Dieses ist aber bei Interfaces nicht der Fall, du MUSST alle Methoden selbst implementieren.

    Egal was du anstellst, Java hat keine Mehrfachvererbung (und braucht es auch nicht) 😉



  • Na ja, im Prinzip sind wir uns ja alle einig, geht eigentlich nur um die Begrifflichkeiten.
    Fakt ist das die Methodensignaturen bei einem Subinterface von dem Superinterface geerbt/abgeleitet werden, ein Subinterface kann Methodensignaturen von mehreren Superinterfaces erben/ableiten.

    Nennt es Mehrfachvererbung von Interfaces oder
    Multiple Ableitbarung 😉 damit ist das Kind getauft.

    O'Dog



  • Na Interfaces implementiert man.
    Also würde ich Mehrfachimplementierung sagen :p



  • Hmm, parry, ich glaub wir haben uns immer noch nicht verstanden.

    es geht mir nicht um:
    public class MyClass implements InterfaceA, InterfaceB

    sondern um:
    public interface InterfaceA extends InterfaceB, InterfaceC



  • @O'Dog

    Ja es heisst

    public interface XYZ extends ABC
    

    allerdings wird hier nichts vererbt 🙂

    Vielmehr wird mit dieser Art von Delaration nur das Methodenset des Interfaces XYZ mit denen aus ABC sprichwörtlich erweitert. Dies kann man nennen wie man will - ab jetzt gehts in diesem Thread ja auch nur noch um "Begriffsdefinition" für den einen ist das Glas halb voll - für den anderen halb leer. 🙂 🙂

    In diesem Sinne einen schönen Sonntag 😉



  • @O'Dog

    Ah, jetzt ist mir klar was du meinst.
    Dafür kenne ich wirklich keinen eigenen Namen.



  • Na ja, wie auch immer...
    jetzt kommt Episode 1 (inkl. 45min Werbung - Rekord) 😉


Anmelden zum Antworten