[JAVA] "Vererbung", die auch Anfänger der Objektorientierung verstehen können
Einführung
Kennen Sie die drei Hauptelemente der objektorientierten Programmierung?
-
- Klasse (Kapselung)
-
- Vererbung
-
- Polymorphismus
In diesem Artikel werde ich eines der drei Hauptelemente "Vererbung" erläutern.
Polymorphismus wird im Artikel [hier] erklärt (https://qiita.com/tomonori_hioki/items/d8b1f8a6552c94b3180a "Polymorphismus, den selbst Anfänger der Objektorientierung verstehen können").
Was ist Vererbung?
Kurz gesagt, es ist ein Mechanismus zum Organisieren von Gemeinsamkeiten und Unterschieden zwischen Objekten (Klassen).
Dies ist die sogenannte "Ist-Beziehung".
Die is-a-Beziehung bedeutet, dass A ein B ist, was auf Japanisch bedeutet, dass "A eine Art von B ist".
Im Konzept der Mathematik ist es auch die Beziehung zwischen "ganzer Menge und Teilmenge".
(Beispiel)
- Säugetiere sind eine Tierart (Fische und Amphibien sind ebenfalls eine Tierart)
- Strawberry gehört zur Familie der Rosen (Sakura, Ume und Peach gehören ebenfalls zur Familie der Rosen)
Ergänzung
@shiracamus kommentierte, dass "Superklasse die minimale Menge gemeinsamer Funktionen ist".
Superklasse und Unterklasse
- Was ist Super Class?
- Es ist das ganze Set.
- Im obigen Beispiel entsprechen "Tier" und "Rosenfamilie" der Superklasse.
- Definieren Sie gemeinsame Eigenschaften im gesamten Satz.
- Was ist eine Unterklasse?
- Eine Teilmenge.
- Im obigen Beispiel entsprechen "Säugetier" und "Erdbeere" Unterklassen.
- Die Teilmenge definiert die eindeutigen Eigenschaften.
Warum ist Vererbung wichtig?
- Dies dient dazu, die Verschwendung des Programms zu vermeiden. Mit anderen Worten, die Effizienz und Wartbarkeit der Programmerstellung wird sich verbessern.
- Angenommen, Klasse A, Klasse B und Klasse C haben dieselbe Methode.
- Wenn Sie die Methode ändern müssen, müssen Sie drei Teile ändern, Klasse A, Klasse B und Klasse C.
- Das oben genannte ist nutzlose Arbeit! (Es braucht Zeit, um das Programm zu ändern und den Test durchzuführen.)
- Wenn Sie die Funktion (Methode) definieren, die Sie in der Superklasse haben möchten, können Sie dafür sorgen, dass alle Unterklassen, die die Superklasse erben, dieselbe Funktion haben.
- Für die Object-Klasse, die eine Oberklasse aller Klassen darstellt, ist eine toString-Methode für die Stringifizierung definiert.
- Dies ist eine Übersicht, die auch zu "Polymorphismus" führt.
Spezifisches Programmierbeispiel für die Vererbung
Programmübersicht
- Dies ist ein Janken-Programm.
- Janken-Spieler sind Menschen und Roboter.
- Spieler sind Superklassen und Menschen und Roboter sind Unterklassen.
- Das Spielerverhalten (Janken-Methode zum Spielen) wird in der Superklasse geteilt.
- Sowohl Menschen als auch Roboter können spielen (Sie können die Janken-Methode aufrufen).
Super Klasse
Player.java
public class Player {
public void janken() {
//Janken-Verarbeitung
}
}
Unterklasse
Format: Name der Unterklasse + erweitert + Name der Superklasse
Person.java
public class Person extends Player {
//Kürzung
}
Robot.java
public class Robot extends Player {
//Kürzung
}
Hauptklasse
MainClass.java
public class MainClass {
public static void main(String[] args) {
Person person = new Person();
Robot robot = new Robot();
//Janken
person.janken();
robot.janken();
}
}
Zusammenfassung
Was ist Vererbung?
- Ein Mechanismus zur Organisation der Gemeinsamkeiten und Unterschiede von Klassen.
- Super Klasse
- Ganzes Set
- Klassen, die Gemeinsamkeiten definieren
- Ist-eine Klasse entsprechend "B" in Beziehung (A ist ein B.)
- Unterklasse
- Teilmenge
- Klasse, die die Unterschiede definiert
- Ist-eine Klasse entsprechend "A" in Beziehung (A ist ein B.)
Warum ist Vererbung wichtig?
- Dies dient dazu, die Verschwendung des Programms zu vermeiden.
- Dies dient dazu, die Kosten für das Ändern und Testen des Programms zu senken. Dies ist ein sehr wichtiger Gesichtspunkt in der Praxis.
Verweise
- Warum es objektorientiert machen, 2. Auflage
Wenn Sie mehr über die Objektorientierung erfahren möchten, empfehle ich Ihnen, diese zu lesen.
Sie können es auch bei Amazon kaufen.