Heim  >  Artikel  >  Java  >  02.Java-Grundlagen – Vererbung

02.Java-Grundlagen – Vererbung

黄舟
黄舟Original
2017-02-27 10:09:291233Durchsuche

Grundkonzepte

  • Das Konzept der Vererbung: Erstellen Sie eine neue Klasse basierend auf dem Typ einer Vorhandene Klasse. Ohne die Form der vorhandenen Klasse zu ändern, wird dieser Ansatz als Vererbung bezeichnet.

  • Die Rolle der Vererbung: Nachdem Sie zuerst eine Klasse P erstellt haben, müssen Sie jetzt eine neue Klasse S erstellen, aber die Funktion ähnelt P. Wenn wir zu diesem Zeitpunkt faul sein und S nicht neu schreiben möchten, können wir dies durch Vererbung tun.

  • Vererbungsbeziehung : Die Vererbungsbeziehung ist in übergeordnete Klasse (Basisklasse) und untergeordnete Klasse (abgeleitete Klasse) unterteilt. Die übergeordnete Klasse ist das geerbte Objekt (z. B. P) und die Unterklasse ist das implementierte geerbte Objekt (z. B. S).

  • Vererbungsmethode: Die Klassenvererbung ist Einzelvererbung, das heißt, nachdem S P geerbt hat, kann es P2 nicht erben.

  • Merkmale der Vererbung : Unterklassen erhalten durch Vererbung automatisch alle Felder (Variablen) und Methoden in der übergeordneten Klasse.

  • Implementierung der Vererbung: Vererbung wird in Java durch das Schlüsselwort extends implementiert.

class Parent {
}

class Son extends Parent {
}

IS-A-Beziehung

Die Vererbungsbeziehung in Java ist eine IS-A Beziehung .

Um die IS-A-Beziehung zu verstehen, nehmen Sie die Kastanie oben: S erbt P, wir können sagen, dass S P ist.

In einem Erbverhältnis kann der Nachfolger den Nachfolger vollständig ersetzen, nicht jedoch umgekehrt. Mit einem Wort: Wir „können Menschen wie Tiere behandeln, aber wir können Tiere nicht wie Menschen behandeln“.


Konstruktor und Vererbung

Eine Klasse wird durch den Aufruf des Konstruktors initialisiert. Für die Vererbung weisen die Konstruktoren von Unterklassen und übergeordneten Klassen die folgenden Merkmale auf:

  • Wenn eine Unterklasse von einer übergeordneten Klasse erbt, ist der Konstruktor der übergeordneten Klasse implizit konstruiertes Gerät , Sie müssen es nicht manuell aufrufen.

  • Wenn eine Unterklasse eine übergeordnete Klasse erbt und der Konstruktor der übergeordneten Klasse ein expliziter Konstruktor ist, muss er manuell aufgerufen werden. Wenn eine

  • -Unterklasse eine Elternklasse erbt, erfolgt die Reihenfolge der Konstruktoraufrufe immer von der -Elternklasse nach abwärts.

Lassen Sie es uns anhand eines Beispiels untersuchen:

class Parent {    // 无参构造器,即隐式构造器。
    public Parent() {
        System.out.println("initializing Parent");
    }
}

class Son extends Parent {    // 带参构造器,属显式构造器
    public Son(String name) {        // 关键 -> 由于父类是隐式构造器,这里可以不调用。
        System.out.println("initializing "+name);
    }
}

class Grandson extends Son {    public Grandson() {        // 关键 -> 父类是显式构造函数,必须手动调用
        super("son");
        System.out.println("initializing Grandson");
    }
}public class Test {
    public static void main(String[] args) {
        Grandson grandson = new Grandson();        // 关键 -> 构造器调用顺序总是从父类依次往下进行的,打印内容如下:
        // initializing Parent
        // initializing Son
        // initializing Grandson
    }
}

Grundlegende Konzepte

  • Das Konzept der Vererbung: Erstellen Sie eine neue Klasse entsprechend dem Typ der vorhandenen Klasse, ohne die Form der vorhandenen Klasse zu ändern. Diese Methode wird Vererbung genannt.

  • Die Rolle der Vererbung: Nachdem Sie zuerst eine Klasse P erstellt haben, müssen Sie jetzt eine neue Klasse S erstellen, aber die Funktion ähnelt P. Wenn wir zu diesem Zeitpunkt faul sein und S nicht neu schreiben möchten, können wir dies durch Vererbung tun.

  • Vererbungsbeziehung : Die Vererbungsbeziehung ist in übergeordnete Klasse (Basisklasse) und untergeordnete Klasse (abgeleitete Klasse) unterteilt. Die übergeordnete Klasse ist das geerbte Objekt (z. B. P) und die Unterklasse ist das implementierte geerbte Objekt (z. B. S).

  • Vererbungsmethode: Die Klassenvererbung ist Einzelvererbung, das heißt, nachdem S P geerbt hat, kann es P2 nicht erben.

  • Merkmale der Vererbung : Unterklassen erhalten durch Vererbung automatisch alle Felder (Variablen) und Methoden in der übergeordneten Klasse.

  • Implementierung der Vererbung: Vererbung wird in Java durch das Schlüsselwort extends implementiert.

class Parent {
}

class Son extends Parent {
}

IS-A-Beziehung

Die Vererbungsbeziehung in Java ist eine IS-A-Beziehung.

Um die IS-A-Beziehung zu verstehen, nehmen Sie die Kastanie oben: S erbt P, wir können sagen, dass S P ist.

In einem Erbverhältnis kann der Nachfolger den Nachfolger vollständig ersetzen, nicht jedoch umgekehrt. Mit einem Wort: Wir „können Menschen wie Tiere behandeln, aber wir können Tiere nicht wie Menschen behandeln“.


Konstruktor und Vererbung

Eine Klasse wird durch den Aufruf des Konstruktors initialisiert. Für die Vererbung weisen die Konstruktoren von Unterklassen und übergeordneten Klassen die folgenden Merkmale auf:

  • Wenn eine Unterklasse von einer übergeordneten Klasse erbt und der Konstruktor der übergeordneten Klasse implizit konstruiertes Gerät ist , Sie müssen es nicht manuell aufrufen.

  • Wenn eine Unterklasse eine übergeordnete Klasse erbt und der Konstruktor der übergeordneten Klasse ein expliziter Konstruktor ist, muss er manuell aufgerufen werden. Wenn eine

  • -Unterklasse eine Elternklasse erbt, erfolgt die Reihenfolge der Konstruktoraufrufe immer von der -Elternklasse nach abwärts.

Lassen Sie es uns anhand eines Beispiels untersuchen:

class Parent {    // 无参构造器,即隐式构造器。
    public Parent() {
        System.out.println("initializing Parent");
    }
}

class Son extends Parent {    // 带参构造器,属显式构造器
    public Son(String name) {        // 关键 -> 由于父类是隐式构造器,这里可以不调用。
        System.out.println("initializing "+name);
    }
}

class Grandson extends Son {    public Grandson() {        // 关键 -> 父类是显式构造函数,必须手动调用
        super("son");
        System.out.println("initializing Grandson");
    }
}public class Test {
    public static void main(String[] args) {
        Grandson grandson = new Grandson();        // 关键 -> 构造器调用顺序总是从父类依次往下进行的,打印内容如下:
        // initializing Parent
        // initializing Son
        // initializing Grandson
    }
}

Das Obige ist der Inhalt von 02. Java-Grundlagen - Vererbung. Weitere verwandte Inhalte finden Sie hier die chinesische PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn