Nun wird es Zeit, dass wir uns einmal anhand einiger Klassen anschauen, wie Schnittstellen implementiert werden. Dazu werde ich IComparable implementieren, die eine Reihe sortierter Objekte desselben Typs zulässt, mit denen die Schnittstelle implementiert wird. Das Beispiel verwendet eine Dinosaurier-Basisklasse und spezielle Dinosaurier-Klassen, Allosaurus, TRex etc., die von der Dinosaurier-Basisklasse abgeleitet sind. Dies ist vielleicht im Alltag nicht besonders nützlich (immerhin sind die Dinosaurier ja bereits ausgestorben), doch sollte es Ihnen verdeutlichen, wie man eine Schnittstelle implementiert.
Listing A liefert die Dinosaurier-Basisklasse, ohne irgendwelche zu implementierenden Schnittstellen festzulegen.
Wie Sie sehen, ist die Dinosaurier-Klasse eine recht schlichte Angelegenheit: nur eine öffentliche Eigenschaft (Name) und ein Feld (Length).
Als nächstes wollen wir einige spezifische Dinosaurier-Klassen hinzufügen, die per Vererbung von Dinosaurier abgeleitet werden (siehe Listing B).
Nun wenden wir uns wieder der Dinosaurier-Klasse zu und implementieren die IComparable-Schnittstelle, indem wir denselben Doppelpunkt-Operator (:) wie für die Vererbung verwenden:
Durch die Implementierung der IComparable-Schnittstelle in der Dinosaurier-Klasse wird diese natürlich auch in allen abgeleiteten Klassen, wie Allosaurus und TRex, implementiert. Listing C zeigt diese Implementierung der Dinosaurier-Klasse.
So wie der Code jetzt aussieht, ist IComparable zwar in der Vererbungsklausel der Dinosaurier-Klasse spezifiziert, doch gibt es in Dinosaurier oder seinen abgeleiteten Klassen keine tatsächliche Implementierung der im IComparable-„Vertrag“ festgelegten Mitglieder. Wenn Sie versuchen, diesen Code zu kompilieren, wird sich das Projekt nicht ausführen lassen, sondern Sie werden eine Syntaxfehlermeldung erhalten, die Sie auf das Problem hinweist (Abbildung B).
Probleme treten vor allem bei Nutzern von Outlook Web Access auf. Das optionale Hotfix-Update für…
Die Einladung zeigt einen zeichnenden Apple Pencil. Der wiederum deutet auf neue iPads hin. Es…
Die Richtlinie erhält 584 Ja-Stimmen und 3 Gegenstimmen. Das „Recht auf Reparatur“ beinhaltet unter bestimmten…
Die Tests basieren auf tatsächlich existierenden Sicherheitslücken. GPT-4 erreicht eine Erfolgsquote von 87 Prozent. Alle…
Höchste Performance-Standards für Webseiten und ein persönlicher, kundenorientierter Premium Support.
Die neue V-NAND-Generation bietet die derzeit höchste verfügbare Bit-Dichte. Samsung steigert auch die Geschwindigkeit und…