In PHP werden Sie auf eine Situation stoßen, in der die Unterklasse die übergeordnete Klasse erbt, Sie jedoch bestimmte Änderungen an den Attributen und Methoden Erweiterung, dann kann die Unterklasse die Eigenschaften und Methoden neu schreiben und die Eigenschaften und Methoden mit demselben Namen wie die übergeordnete Klasse abdecken. Wenn der Inhalt der Methode der übergeordneten Klasse jedoch relativ groß ist, beispielsweise Hunderte oder Tausende von Codezeilen , dann nur „parent class name::method“ oder „parent::method“ verwenden, um die überschriebene Methode im aufzurufen parent class , es gibt nur , um die übergeordnete Klasse neu zu laden und dann die Anweisungen hinzuzufügen, die erweitert werden müssen.
<?php class Person{ public $name; public function construct($name="" ){ $this->name=$name; } public function say(){ echo "我叫".$this->name ; } }?><?php class Student extends Person{ public $name; public function construct($name=""){ $this->name =$name; }//这里定义了一个和父类中同名的方法,将父类中的说话方法覆盖并重写 public function say(){ echo "我叫".$this->name .",今年25岁了" ; } }?>
Konstruktor wird ein zusätzlicher Parameter $age hinzugefügt.
<?phpclass Student extends Person{ public $name; public $age; public function construct($name="",$age=25){ $this->name =$name; $this->age =$age; } public function say(){ echo "我叫".$this->name .",今年".$this->age."岁了" ; } }?>
Obwohl dadurch das oben erwähnte Problem gelöst wird, kann eine Methode in der tatsächlichen Entwicklung nicht nur aus einem oder mehreren Codes bestehen, wie beispielsweise die Methode „say()“ in der Klasse „Person“. Es gibt 100 Zeilen davon Wenn wir diese Methode überschreiben und die ursprünglichen Funktionen beibehalten und etwas mehr Funktionalität hinzufügen möchten, müssen wir die ursprünglichen 100 Codezeilen plus ein paar erweiterte Codezeilen neu schreiben In einigen Fällen kann die Methode in der übergeordneten Klasse den Originalcode nicht sehen. Wie kann der Originalcode zu diesem Zeitpunkt neu geschrieben werden? Wir haben auch eine Lösung: Sie können in der Unterklassenmethode die überschriebene Methode in der übergeordneten Klasse aufrufen und einige Ihrer eigenen Funktionen hinzufügen . So implementieren Sie den Aufruf der überschriebenen Methode der übergeordneten Klasse in der Methode der untergeordneten Klasse:
<?phpclass Student extends Person{ public $name; public $age; public function construct($name="",$age=25){ parent::construct($name,$age); $this->age =$age; } public function say(){ parent::say(); echo ",今年".$this->age."岁了" ; } }?>
Neuladen der Attribute und Methoden der übergeordneten Klasse. Es handelt sich nicht um eine Überladung Man kann nur sagen, dass es sich um ein Unterklassenpaar handelt. In PHP gibt es auch das Wort Überladung, aber die Bedeutung von Überladung unterscheidet sich von der in allgemeinen sprachorientierten Sprachen.
Das obige ist der detaillierte Inhalt vonPHP objektorientiert – Beispielcode für die gemeinsame Nutzung einer Unterklasse, die die übergeordnete Klasse erweitert (Unterklasse, die die übergeordnete Klasse neu lädt). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!