suchen
HeimJavajavaLernprogrammEine kurze Analyse der Vererbung und Zusammensetzung in Java

Vorwort

Java ist eine objektorientierte Sprache. Jeder, der Java studiert hat, weiß, dass Kapselung, Vererbung und Polymorphismus die drei Merkmale der Objektorientierung sind. Jeder wird mehr oder weniger den Eindruck haben, wenn er zum ersten Mal Vererbung lernt: Vererbung kann mir dabei helfen, Klassen wiederzuverwenden. Daher verwenden viele Entwickler natürlich die Klassenvererbung, wenn sie Code wiederverwenden müssen, da er im Buch so geschrieben steht (der Lehrer unterrichtet ihn so). Das ist jedoch tatsächlich falsch. Eine umfangreiche und langfristige Nutzung der Vererbung führt zu hohen Wartungskosten für den Code.

Eigentlich hatte ich noch nie von der Begriffskombination gehört, als ich Java zum ersten Mal lernte, und der Lehrer hat es mir nie erklärt. Ich dachte immer, ich hätte einige Wissenspunkte selbst übersehen. Tatsächlich war es das nicht Fallkombination ist: Definieren wir das Substantiv vorerst als denkendes Ding, aber sie wissen nicht, dass es diesen Namen hat.

Tatsächlich besteht die sogenannte Kombination darin, eine neue Klasse zu erstellen, um die bereits erstellte und debuggte Klasse aufzurufen. Diese neue Klasse kann dann als Kombination bezeichnet werden

Zum Beispiel erstelle ich eine People

public class People {
 private String name;
 private int age;
  
 public void setName(String name){
 this.name = name;
 }
 public String getName(){
 return this.name;
 }
 public int getAge(){
 return this.age;
 }
 public void setAge(int age){
 this.age = age;
 }
}


Dann möchte ich dieser Klasse jetzt einige neue Funktionen hinzufügen Dieses Mal können wir eine neue Klasse erstellen und dann Personenobjekte in dieser Klasse erstellen.

Zum Beispiel erstelle ich jetzt eine Klasse namens Student

class Student {
 People people = new People();
}

Dann kann ich dieser Klasse einige Attribute hinzufügen, wie zum Beispiel die Definition einer Identität als Student, ich werde hier nicht darauf eingehen.

Als nächstes werfen wir einen Blick auf die Vererbung. Tatsächlich haben Vererbung und Kombination denselben Zweck.

In Java gibt es ein Schlüsselwort namens „extends“, das uns beim Erben helfen kann. Die geerbte Klasse wird als übergeordnete Klasse bezeichnet. Sie kann auch als Basisklasse oder Superklasse und als Erbe bezeichnet werden Wir nennen es eine Unterklasse oder eine abgeleitete Klasse usw.

Hier definieren wir eine Klasse

public class Student extends People{
 //doSomething
}

Auf diese Weise erbt die Klasse die übergeordnete Klasse Alle Mitgliedsmethoden und Mitgliedsvariablen der Klasse. Beachten Sie jedoch, dass mit privaten Berechtigungen deklarierte Felder oder Methoden nicht vererbt werden.

Um dies zu beweisen, schreiben wir eine Methode in der Studentenklasse

public String re(){
 return this.name;
}

Hier meldet der Compiler einen Fehler „People.name ist nicht sichtbar.“ " Hier ist ersichtlich, dass als privat deklarierte Felder oder Methoden nicht vererbt werden können. Wenn Sie es erben möchten, können Sie privat in geschützt ändern. In diesem Fall können wir das Namensfeld erfolgreich erben. .

Auf diese Weise initialisieren wir alle Felder in Personen. Fügen Sie einfach diesen Codeblock zum Code hinzu

{
 this.age = 10;
 this.name = "zhangsan";
}

Weiter in der Hauptfunktion Deklarieren Sie diesen Schüler

Student student = new Student();
System.out.println(student.getAge());

Nun stellen wir überrascht fest, dass diese Schreibmethode möglich ist. Obwohl wir in der Unterklasse keine Felder und Methoden deklariert haben, können wir dennoch getAge( ); aufrufen 10 reibungslos ausführen

Dies liegt daran, dass wir keine Methoden in der Unterklasse überladen haben, sodass zu diesem Zeitpunkt getAge der übergeordneten Klasse aufgerufen wird und leicht darauf zugegriffen werden kann. Die privat deklarierten Felder in der Elternklasse.

Nachdem ich dies gelesen habe, glaube ich, dass jeder ein vorläufiges Verständnis der Vererbung hat. Wie werden die Konstruktoren jeder Klasse nacheinander aufgerufen, von der übergeordneten Klasse bis zur untergeordneten Klasse? Klasse.

Während der Demonstration deklariere ich zunächst drei Klassen Temp1, Temp2 und Temp3. Gleichzeitig erbt Temp3 von Temp2 und Temp2 erbt von Temp1 Konstruktor jeder Klasse Fügen Sie eine gedruckte Anweisung ein

//Temp1
System.out.println("i'm temp1");
//Temp2
System.out.println("i'm temp2");
//Temp3
System.out.println("i'm temp3");

Der Einfachheit halber habe ich es nur hier geschrieben, aber jeder muss darauf achten, dass diese in die Konstruktionsmethode jeder Klasse eingefügt werden.

Wir erstellen ein Temp3-Objekt in der Hauptfunktion

public class Mian{
 public static void main(String[] args){
 Temp3 temp3 = new Temp3();
 }
}

Wir schauen auf die Konsole und drucken aus

i'm temp1
i'm temp2
i'm temp3

Daraus ist ersichtlich, dass wir zuerst das temp3-Objekt erstellen, das Schlüsselwort „extends“ finden müssen, dann die Vererbungskette hinaufgehen, temp2 finden und das Schlüsselwort „extends“ finden müssen, dann temp1 finden und dann aufrufen müssen temp1 Konstruktormethode und rufen Sie sie dann einzeln auf.

Zusammenfassung

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für alle beim Lernen oder bei der Arbeit hilfreich sein kann eine Botschaft zum Mitteilen.

Weitere Artikel zu einer kurzen Analyse der Vererbung und Kombination in Java finden Sie auf der chinesischen PHP-Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.