Wenn Sie dieselbe Methode für mehrere Klassen definieren möchten und diese Methode für alle Klassen definieren, wiederholen Sie am Ende dieselbe Beschreibung immer wieder. (Beispiel 1) Klasse 1 Klasse 2 Klasse 3 Methode A Methode A Methode A. Methode B Methode C Methode D. Wenn mehrere Klassen dieselbe Methode haben, gilt: Je mehr Klassen Sie haben, desto mehr Code haben Sie und desto schwieriger ist die Verwaltung. Lassen Sie uns etwas über die Klassenvererbung lernen, um dies zu verhindern.
Vererbung ist der Prozess des Definierens einer Klasse, nachdem eine in einer Klasse definierte Methode einer anderen neuen Klasse zur Verfügung gestellt wurde.
Die Klassenvererbung hat eine Eltern-Kind-Beziehung. Die ursprüngliche Klasse wird als übergeordnete Klasse bezeichnet, und die neu erstellte Klasse, die die Methoden der übergeordneten Klasse erbt, wird als untergeordnete Klasse bezeichnet. Erstellen Sie eine Klasse von "Autos", die ein übergeordnetes Konzept für Streifenwagen und Lastwagen darstellt, und definieren Sie dort gemeinsame Merkmale. Durch das Erben der Eigenschaften des Autos (Elternklasse) ist es nicht erforderlich, die Eigenschaften des Autos auf dem Streifenwagen (Kinderklasse) und dem Lastwagen (Kinderklasse) zu beschreiben. Infolgedessen müssen Sie nur die Merkmale des Streifenwagens und des Lastwagens schreiben, und jedes Merkmal ist leicht zu verstehen.
Verwenden Sie beim Erben einer Klasse "<", wenn Sie die Klasse deklarieren, und schreiben Sie wie folgt.
Klasse Name der untergeordneten Klasse<Name der übergeordneten Klasse
end
Schreiben wir nun das obige Beispiel des Autos mit Code, der tatsächlich die Klassenvererbung verwendet. Definieren Sie zunächst die übergeordnete Klasse.
Autoklasse (Elternklasse)
class Car
def speed_up
puts "Beschleunigen"
end
def speed_down
puts "Verlangsamen"
end
def horn
puts "Pupoo"
end
end
Die Elternklasse definiert das gemeinsame Verhalten des Autos. Definieren Sie als Nächstes jede untergeordnete Klasse. Dieses Mal definieren wir den Streifenwagen und den Lastwagen als Streifenwagen bzw. Lastwagenwagen.
PatrolCar-Klasse (Kinderklasse)
class PatrolCar < Car #Klassenvererbung
def siren
puts "Erbse Po Erbse Po"
end
end
TruckCar-Klasse (Kinderklasse)
class TruckCar < Car #Klassenvererbung
def carry
puts "Ich werde mein Gepäck tragen"
end
end
Durch die Definition einer Methode, die der übergeordneten Klasse gemeinsam ist, wird die Codemenge in der untergeordneten Klasse reduziert und ist leichter zu erkennen. Dies ist auch ein großer Vorteil der Verwendung der Vererbung. Aus dem obigen Code geht jedoch hervor, dass Sie die Änderung der untergeordneten Klasse leicht widerspiegeln können, indem Sie einfach die in der übergeordneten Klasse definierte allgemeine Methode ändern.
Mit der Klassenvererbung können Sie sauberen Code schreiben, ohne wiederholt gängige Methoden zu schreiben. Schreiben Sie ihn also bitte!
Recommended Posts