Vererbung spielt als eines der drei wichtigen Merkmale von Objektorientiert eine äußerst wichtige Rolle im objektorientierten Bereich. Es scheint, dass ich noch nie von einer objektorientierten Sprache gehört habe, die dies tut unterstützt keine Vererbung.
Klassenvererbung
Vererbung spielt als eines der drei wichtigen Merkmale der Objektorientierung eine äußerst wichtige Rolle im objektorientierten Bereich
Ich nicht Ich glaube, ich habe davon gehört. Objektorientierte Sprachen unterstützen keine Vererbung. Vererbung ist eine der wichtigen Funktionen der objektorientierten Programmierung in PHP5. Sie bezieht sich auf die Erstellung einer neuen abgeleiteten Klasse, die Daten und Funktionen von einer oder mehreren zuvor definierten Klassen erbt und dadurch neu definiert oder hinzugefügt werden kann Etablierung einer Hierarchie oder Klassenhierarchie. Einfach ausgedrückt ist Vererbung ein Mechanismus, durch den untergeordnete
-Klassen automatisch die Datenstrukturen und Methoden der übergeordneten Klasse teilen. Dies ist eine Beziehung zwischen Klassen. Wenn Sie
einer Klasse definieren und implementieren, können Sie dies auf der Grundlage einer vorhandenen Klasse tun, den von der vorhandenen Klasse definierten Inhalt als eigenen Inhalt von
verwenden und einige neue Inhalte hinzufügen. Beispielsweise haben Sie jetzt eine Klasse „Person“, die
zwei Mitgliedsattribute „Name und Alter“ und zwei
Mitgliedsmethoden
„Sprechmethode und Gehmethode“ enthält, wenn das Programm Jetzt ist eine Schülerklasse erforderlich, da Schüler auch Menschen sind und die Schüler auch über die Mitgliedsattribute „Name und Alter“ und die Mitgliedsmethode „Sprechen und Gehen“ verfügen. Zu diesem Zeitpunkt können Sie die Schülerklasse diese Klasse erben lassen. Nach der Vererbung erbt die Schülerklasse alle Attribute des Menschen. Sie müssen diese Mitgliedsattribute und Methoden nicht erneut deklarieren, da die Schülerklasse auch über die Attribute der Schule und die Lernmethoden verfügt. In der von Ihnen erstellten Schülerklasse gibt es also
Attribute und Methoden
, die vom Menschen geerbt wurden, sowie die schülerspezifischen „Standortattribute“ und „Lernmethoden“,
eine solche Schülerklasse Vererbung kann auch als „Erweiterung“ bezeichnet werden. Aus dem oben Gesagten können wir ersehen, dass die Klasse „Student“ den ursprünglichen zwei Attributen und zwei Methoden in „human“ hinzugefügt wird Erweitern Sie eine neue Schülerklasse.
Durch den Vererbungsmechanismus können bestehende
Datentypen verwendet werden, um neue Datentypen zu definieren. Der neu definierte Datentyp verfügt nicht nur über die neu definierten Mitglieder, sondern auch über die alten Mitglieder. Wir nennen die vorhandene Klasse, die zum Ableiten neuer Klassen verwendet wird, die Basisklasse
, auch bekannt als übergeordnete Klasse und Superklasse. Eine neue, von einer bestehenden Klasse abgeleitete Klasse wird abgeleitete Klasse oder auch Unterklasse genannt.
In der Softwareentwicklung macht die Vererbung von Klassen die erstellte Software offen und erweiterbar. Dies ist eine effektive Methode zur Organisation und Klassifizierung von Informationen. Sie vereinfacht die Erstellung von Objekten und Klassen und erhöht die Reproduzierbarkeit des Codes. Mithilfe der Vererbung stellt
eine kanonische hierarchische Struktur von Klassen bereit. Durch die Vererbungsbeziehung von Klassen können öffentliche Funktionen gemeinsam genutzt werden, wodurch die Wiederverwendbarkeit von Software verbessert wird.
In der C++-Sprache kann eine abgeleitete Klasse von einer Basisklasse oder mehreren Basisklassen abgeleitet werden. Die von einer Basisklasse abgeleitete Vererbung wird als Einzelvererbung bezeichnet. Die von mehreren Basisklassen abgeleitete Vererbung wird als Mehrfachvererbung bezeichnet. In PHP- und Java-Sprachen gibt es jedoch keine Mehrfachvererbung, sondern nur Einzelvererbung. Das heißt, eine Klasse kann nur Daten direkt von einer Klasse erben. Dies nennen wir Einzelvererbung.
Zum Beispiel:
Das Folgende ist die Abstraktion der Klasse „Mensch“
Codeausschnitt
Erstellen wir unten eine „Student-Klasse“. Folgendes ist: Codeausschnitt
Durch die obige Definition der Klasse „Student“ erbt die Klasse „Student“ alle Mitgliedsattribute und Mitgliedsmethoden der Klasse „Person“
unter Verwendung des Schlüsselworts „extends“. und erweitert eine Schule um das Mitgliedsattribut „school“ und
eine Lernmethode „study()“. Jetzt haben die Unterklasse „Student“ und die mit dieser Klasseninstanz erstellten Objekte die folgenden
Attribute und Methoden:
//定义一个“人”类作为父类 class Person{ //下面是人的成员属性 var $name; //人的名子 var $sex; //人的性别 var $age; //人的年龄 //定义一个 构造方法 参数为属性姓名$name、性别$sex和年龄$age进行赋值 function construct($name, $sex, $age){ $this->name=$name; $this->sex=$sex; $this->age=$age; } //这个人可以说话的方法, 说出自己的属性 function say() { echo "我的名子叫:".$this->name." 性别:".$this->sex." 我的年龄是:".$this->age."<br>"; } }
Alter : Alter;
Geschlecht: Schule;//定义一个“人”类做为父类 class Student{ //下面是人的成员属性 var $name; //人的名子 var $sex; //人的性别 var $age; //人的年龄 var $school; //学生所在学校的属性 //定义一个构造方法参数为属性姓名$name、性别$sex和年龄$age进行赋值 function construct($name=””, $sex=””, $age=””, $school=””){ $this->name=$name; $this->sex=$sex; $this->age=$age; $this->school=$school; } //这个人可以说话的方法, 说出自己的属性 function say() { echo "我的名子叫:".$this->name." 性别:".$this->sex." 我的年龄是:".$this->age."<br>"; } //这个学生学习的方法 function study() { echo "我的名子叫:".$this->name." 我正在”.$this->school.”学习<br>"; } } //定义一个子类“学生类“使用”extends”关键字来继承”人”类 class Student extends Person{ var $school; //学生所在学校的属性 //这个学生学习的方法 function study() { echo "我的名子叫:".$this->name." 我正在”.$this->school.”学习<br>"; } }
Sprechmethode: say(); );
Durch die Verwendung der oben genannten Klassenvererbung wird der Arbeitsaufwand beim Erstellen von Objekten und Klassen vereinfacht und die Reproduzierbarkeit des Codes erhöht. Aus dem obigen Beispiel sind die Auswirkungen von „Wiederverwendbarkeit“ und anderer Vererbung jedoch nicht besonders offensichtlich. Wenn man es allgemeiner betrachtet, gibt es unzählige Positionen, wie zum Beispiel die oben genannten Studenten, Lehrer, Ingenieure, Ärzte, Arbeiter
usw. Wenn jede Klasse Attribute und Methoden definiert, die „Menschen“ gemeinsam haben, wird es eine große Arbeit geben
, diese Eigenschaften und Methoden können von geerbt werden „Person“ Mensch.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für die objektorientierte PHP-Vererbung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!