C# für Einsteiger: Klassenschnittstellen

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).

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Microsoft beseitigt Fehler im März-Sicherheitsupdate für Exchange Server

Probleme treten vor allem bei Nutzern von Outlook Web Access auf. Das optionale Hotfix-Update für…

1 Woche ago

Neue iPads: Apple kündigt Event für 7. Mai an

Die Einladung zeigt einen zeichnenden Apple Pencil. Der wiederum deutet auf neue iPads hin. Es…

1 Woche ago

EU-Parlament stimmt für Recht auf Reparatur

Die Richtlinie erhält 584 Ja-Stimmen und 3 Gegenstimmen. Das „Recht auf Reparatur“ beinhaltet unter bestimmten…

1 Woche ago

Forscher entwickeln Exploits per GPT-4 aus Sicherheitswarnungen

Die Tests basieren auf tatsächlich existierenden Sicherheitslücken. GPT-4 erreicht eine Erfolgsquote von 87 Prozent. Alle…

1 Woche ago

HostPress für Agenturen und E-Commerce-Betreiber

Höchste Performance-Standards für Webseiten und ein persönlicher, kundenorientierter Premium Support.

1 Woche ago

V-NAND: Samsung steigert Bit-Dichte um 50 Prozent

Die neue V-NAND-Generation bietet die derzeit höchste verfügbare Bit-Dichte. Samsung steigert auch die Geschwindigkeit und…

1 Woche ago