Wenn Sie sich jedoch auf das Konzept der Vererbung und des Aufrufs von Methoden einer übergeordneten Klasse beziehen, bietet Ruby das Schlüsselwort „super“. So funktioniert es:
„Super“ verstehen
* Vererbung: In Ruby können Sie Klassen erstellen, die von anderen Klassen erben. Das bedeutet, dass die untergeordnete Klasse automatisch Zugriff auf die Methoden und Attribute der übergeordneten Klasse erhält.
* Überschreibende Methoden: Sie können Methoden der übergeordneten Klasse in der untergeordneten Klasse überschreiben. Dies bedeutet, dass die untergeordnete Klasse beim Aufruf ihre eigene Implementierung der Methode verwendet.
* „super“-Schlüsselwort: Wenn Sie die Methode der übergeordneten Klasse innerhalb der überschriebenen Methode in der untergeordneten Klasse aufrufen möchten, verwenden Sie das Schlüsselwort „super“.
Beispiel
„Rubin
Klasse Fahrzeug
def initialize(brand)
@brand =Marke
Ende
auf jeden Fall anfangen
setzt „Start #{@brand} Fahrzeug…“
Ende
Ende
Klasse Auto
super
bringt „Motor gestartet. Fahrbereit!“
Ende
Ende
my_car =Car.new("Toyota")
mein_auto.start
„
Erklärung:
1. Wir definieren eine „Fahrzeug“-Klasse mit einer „Start“-Methode.
2. Wir erstellen eine „Car“-Klasse, die von „Vehicle“ erbt.
3. Die Klasse „Car“ überschreibt die Methode „start“, ruft jedoch „super“ auf, um die Methode „start“ der übergeordneten Klasse „Vehicle“ auszuführen.
4. Wenn wir ein „Auto“-Objekt erstellen und „Start“ aufrufen, werden sowohl die „Start“- als auch die „Start“-Methode des „Fahrzeugs“ ausgeführt.
Wichtige Punkte:
* „super“ ruft die gleichnamige Methode in der übergeordneten Klasse auf.
* Sie können Argumente an „super“ übergeben, um sie an die übergeordnete Methode zu übergeben.
* Wenn Sie „super“ nicht verwenden, überschreibt die Implementierung der Methode der untergeordneten Klasse die Version der übergeordneten Klasse vollständig.
Wenn Sie weitere Fragen zur Vererbung oder „Super“ in Ruby haben, können Sie diese gerne stellen!