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

So günstig & effizient war Content Produktion noch nie: Neues Content System erobert deutschen Markt

Kontinuierliche Content Produktion und Markenaufbau sind essentieller Pfeiler von langfristigen Unternehmenserfolg. Das ist mittlerweile auch…

6 Tagen ago

Lenovo übertrifft die Erwartungen und hebt Prognose an

KI-Funktionen beschleunigen die Erholung des PC-Markts. Der Nettogewinn legt um 44 Prozent zu, der Umsatz…

6 Tagen ago

Bedrohungsakteure betten Malware in macOS-Flutter-Anwendungen ein

Googles App-Entwickler-Kit dient der Tarnung des schädlichen Codes. Der Sicherheitsanbieter Jamf hält die Schadsoftware für…

6 Tagen ago

CopyRhadamantys greift weltweit Unternehmen an

Ausgeklügelte Phishing-Kampagne verwendet eine weiterentwickelte Version der Rhadamanthys-Stealer-Malware.

1 Woche ago

Facebook Marketplace: EU verhängt Geldbuße von fast 800 Millionen Euro gegen Meta

Die EU-Kommission kritisiert die Verknüpfung von Facebook und dem hauseigenen Online-Kleinanzeigendienst. Sie sieht darin einen…

1 Woche ago

Umfrage: Angestellte in Deutschland unterschätzen NIS-2-Richtlinie

Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…

1 Woche ago