[RUBY] So erstellen Sie eine Klasse, die Klasseninformationen erbt

Inhalt

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.

Was ist Klassenvererbung?

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. image.png 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.

Schließlich

Mit der Klassenvererbung können Sie sauberen Code schreiben, ohne wiederholt gängige Methoden zu schreiben. Schreiben Sie ihn also bitte!

Recommended Posts

So erstellen Sie eine Klasse, die Klasseninformationen erbt
So erstellen Sie eine Methode
So erstellen Sie ein Maven-Repository für 2020
[Swift5] So erstellen Sie einen Begrüßungsbildschirm
[Rails] So erstellen Sie eine Teilvorlage
So erstellen Sie überall eine H2-Datenbank
[Android] Erstellen Sie eine neue Klasse, indem Sie ImageView erben
[Rails] So erstellen Sie ein Diagramm mit lazy_high_charts
So erstellen Sie Pagenationen für das "Kaminari" -Array
So konvertieren Sie einen Soliditätsvertrag in eine Java-Vertragsklasse
So erstellen Sie ein Thema in Liferay 7 / DXP
So erstellen Sie einen Validator, der nur die Eingabe in ein Feld zulässt
[1.] So erstellen Sie ein Spring-MVC-Framework-Projekt
So erstellen Sie Docker-Compose
So erstellen Sie einfach ein Pulldown mit Rails
[Rails] So erstellen Sie eine Twitter-Freigabeschaltfläche
So erstellen Sie eine bequeme Methode, die Generika und eine funktionale Schnittstelle verwendet
So testen Sie eine Klasse, die application.properties mit SpringBoot verarbeitet (Anfrage: darauf hingewiesen)
So aktualisieren Sie Benutzerinformationen ohne Kennwort
So erstellen Sie eine JDBC-URL (Oracle Database, Thin)
So erstellen Sie ein Spring Boot-Projekt in IntelliJ
[Spring Boot] So erstellen Sie ein Projekt (für Anfänger)
So erstellen Sie einen Daten-URI (base64) in Java
Erstellen und Ausführen von Methoden-, Proc- und Methodenklassenobjekten
[Apple-Abonnementangebot] So erstellen Sie eine Signatur für ein Werbeangebot
Verwendung der Java-Klasse
So fügen Sie ein Video ein
So erstellen Sie ein leichtes Container-Image für Java-Apps
So erstellen Sie ein Formular zur Auswahl eines Datums aus dem Kalender
So verschieben Sie eine andere Klasse mit einer Schaltflächenaktion einer anderen Klasse.
Zuordnung zu einer Klasse mit einem Wertobjekt in How to My Batis
So erstellen Sie ein Service Builder-Portlet in Liferay 7 / DXP
So erstellen und starten Sie eine Docker-Datei für Payara Micro
[Rails] Anzeigen von Datenbankinformationen
Vorbereiten der Erstellung einer Rails-Anwendung
So erstellen Sie einen Java-Container
So zerlegen Sie eine Java-Klassendatei
Verwendung der Wrapper-Klasse
Wie unterschreibe ich Minecraft MOD?
So erstellen Sie einen JDBC-Treiber
So dekompilieren Sie eine Java-Klassendatei
[Swift] So senden Sie eine Benachrichtigung
So erstellen Sie einen Begrüßungsbildschirm
So erstellen Sie ein Jenkins-Plug-In
Verwendung von Klassenmethoden [Java]
Wie erstelle ich ein Maven-Projekt?
Versuchen Sie, eine Server-Client-App zu erstellen
So erstellen Sie ein Java-Array
[Java] Verwendung der Math-Klasse
So erstellen Sie eine JAR-Datei und eine War-Datei mit dem Befehl jar
[Rails 6] So erstellen Sie mit cocoon einen dynamischen Formular-Eingabebildschirm
Erstellen Sie eine statische Datei, die Variablen mithilfe der ERB-Klasse erweitert
So stellen Sie eine App bereit, die ein lokales Glas auf Heroku verweist
Einfache Möglichkeit zum Erstellen einer Zuordnungsklasse bei Verwendung der API