🤔 Kennst du Vererbung?

Vererbung erlaubt es uns, neue Klassen zu erstellen, die das Verhalten bereits existierender Klassen wiederverwenden, erweitern und/oder modifizieren. Die vorbestehende Klasse wird Superklasse genannt und die neue Klasse, die wir erstellen, wird abgeleitete Klasse genannt. In Dart können wir nur eine Superklasse erben, aber die Vererbung ist transitiv. Wenn class Hatch von class Car abgeleitet ist und diese Klasse von class Vehicle abgeleitet ist, dann wird Hatch von Vehicle abgeleitet sein. Verwenden Sie extends, um eine abgeleitete Klasse zu erstellen, und super, wenn Sie auf die Superklasse verweisen wollen.

Wenn class Car extends Vehicle, werden alle Eigenschaften, Variablen, Funktionen, die in class Vehicle implementiert sind, in class Car verfügbar sein.

Auch ist es möglich, Superklassenfunktionen zu überschreiben.

So: Sie verwenden extends, wenn Sie eine spezifischere Version einer Klasse erstellen wollen.

2⃣️ Using implements

Angenommen, Sie wollen eine eigene Klasse Car erstellen, ohne alle Eigenschaften, Variablen und Funktionen der Klasse Vehicle zu erben, sondern nur den Typ Vehicle. Dazu muss die Klasse Car die Schnittstelle Vehicle implementieren.

Dart erlaubt es Ihnen, mehrere Klassen oder Schnittstellen zu implementieren.

✍️ Beispiel

Stellen Sie sich vor, Sie müssen einen Vogel und eine Ente implementieren, beide sind Tiere, aber der Vogel kann nur fliegen und die Ente kann fliegen und schwimmen. Wir machen das mit dem, was wir bisher wissen.

Zuerst erstellen wir die Superklasse und die Verhaltensweisen:

Nun erstellen wir Bird und Duck und implementieren die richtigen Verhaltensweisen:

Beachte, dass wir mit implements die Funktionen fly und swim implementieren mussten, also Code wiederholen! Es war nicht möglich, die Verhaltensimplementierungen auf diese Weise zu vererben. Gibt es eine Möglichkeit, den Code für diese Verhaltensweisen wiederzuverwenden? Ja, das werden wir gleich sehen!

3⃣️ Mit

Mixin ist eine andere Art von Struktur, die nur mit dem Schlüsselwort with verwendet werden kann und dazu dient, gemeinsame Codeschnipsel einzubinden, ich würde sagen, den Code wiederzuverwenden.

Mixins sind eine Möglichkeit, den Code einer Klasse in mehreren Klassenhierarchien (dartlang.org) wiederzuverwenden.

Hier ist, wie Mixins die vorherige Implementierung durchführen:

Sie können abstract class durch mixin ersetzen, wenn Sie es bevorzugen.

Mixins sind ein Weg, eine Familie von Operationen und Zuständen zu abstrahieren und wiederzuverwenden, es ist ähnlich wie die Wiederverwendung, die man durch die Erweiterung einer Klasse erhält, aber es sind nicht mehrere Vererbungen, es gibt immer noch nur eine Oberklasse. Sie funktionieren, indem die Mixin-Implementierung auf die Superklasse gelegt wird, um eine neue Klasse zu erstellen. Im obigen Beispiel ist es möglich, eine Funktion umzuschreiben, Mixins erlauben dies.

✌️Danke

Das war mein erster Beitrag auf Medium, ich hoffe er hat euch gefallen 😃.

Ich möchte Romain Rastel für die unglaubliche Geschichte über Mixins danken, ich empfehle euch zu lesen, um noch mehr über dieses Thema zu verstehen.

Wenn ihr Fragen habt, könnt ihr sie unten stellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.