In PHP schreibe ich oft eine Klasse mit einer gemeinsam genutzten Methode und lasse dann die Unterklasse erben, um die entsprechende Funktion zu erhalten. Angenommen, es gibt ungefähr eine solche übergeordnete Klasse:
<?php class Father{ public function construct(){ echo '我是父类的构造方法!'; } protected function say($str = 'Hello World!'){ echo '说了一句话:' . $str; } } ?>
Erstellen Sie dann eine Unterklasse, um sie zu erben:
<?php class chirld extends Father{ public construct(){ echo '我是子类的构造方法~'; } }
Zu diesem Zeitpunkt instanziieren Sie die Unterklasse und die Das Ergebnis wird sein: Es wird 我是子类的构造方法~
sein!
Natürlich kann die Unterklasse aufgrund der 继承
-Beziehung die say()
-Methode der übergeordneten Klasse aufrufen.
Wenn Sie den Konstruktor der übergeordneten Klasse, aber auch den Konstruktor der Unterklasse implementieren möchten, können Sie dies folgendermaßen tun:
<?php class chirld extends Father{ public construct(){ parent::construct(); echo '我是子类的构造方法~'; } } ?>
Zu diesem Zeitpunkt <🎜 wird ausgegeben > und 我是父类的构造方法!
. 我是子类的构造方法~
protected function say($str = ''){ echo '我是子类的say'; }
-Methode, die Sie von der übergeordneten Klasse geerbt haben, überschrieben. Rufen Sie also auf. Das endgültige Ausgabeergebnis lautet: sys()
. 我是子类的say
public function say($str = ''){ echo '我是子类的方法哦~'; }
private
PHP geht davon aus, dass Ihr Vater Ihnen ein geschütztes Erbe gegeben hat. Zu diesem Zeitpunkt ist es ein geschütztes Erbe in Ihren Händen. Das heißt, Ihr Vater erlaubt Ihnen, es mit anderen zu teilen
, du kannst es definitiv nicht alles für dich behalten. public
private
An dieser Stelle werden Sie sich sicherlich fragen: Was passiert, wenn
gesetzt ist? say()
Das Ergebnis wird nicht dasselbe sein, das heißt, die übergeordnete Klasse wurde privatisiert und die Unterklasse kann sie überhaupt nicht erben, sodass Sie die Methode private
in der Unterklasse nach Ihren Wünschen anpassen können. say()
Es gibt ein weiteres Problem: Die übergeordnete Klasse hat bereits
sys()
public function say(){ echo '哈哈。我没有参数了耶~'; }
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Vererbungsverwendungsbeispiele von PHP-Klassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!