Heim Backend-Entwicklung PHP-Tutorial 深入探讨PHP类的继承_PHP教程

深入探讨PHP类的继承_PHP教程

Jul 15, 2016 pm 01:33 PM
php eins Dasselbe für Warum 人类 Wolltuch 探讨 geh tief von 继承

这就像人类生儿育女一样(为什么一定要生儿育女呢,难道就是为了防老!不得而知呀),你把自己的一些基因和你老婆的基因各拿出来一些,再生成一个新的个体,这个新的个性一定会包含你们两个人身上的特征,这就是生物上关于遗传(继承)的一个解说。在编程的世界是这个遗传就是继承!

首先在了解了继承的一些活生生的原理后,我想再来看PHP类的继承是不是不再那么神秘。或许它本来就不神秘,是因为我们自己太复杂了吧。要有继承就得有一个“根源”,这“根源”你可能想像你以后生了儿子或者女儿,他们会从你这里得到一些“东西(属性和方法)”,这样你的“后代”就是持有你的(根源)所有一些特征了。下面通过语法来描述一下这个在PHP的面向对象中是怎么表达吧(不可能像人类那么直接啦,结婚,过段时间你的后代就产生了)

1.产生“根源”类(父类或者基类)

语法:class father{

}

1.产生“后代”(子类)

语法:class son extends father{

}

说明:父类只是一个平常的类,要想有后代你只需要在平常类后加一个extends关键字就OK了,这样你的子类只拥有了父类所有的属性和方法了。其实就是这么简单罢了。

下面让我们做点实际点事情吧,毕竟PHP类的继承中定义一个父类和子类是要完成某个任务的吧!在这里这个任务比较单调,就拿人来说,人有名字(属性),人要睡觉还要吃饭(方法)。我们就用这个基本的任务要完成本节的知识吧。

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php   </span></span></span></li>
<li><span>class father{   </span></li>
<li class="alt"><span>protected $name;   </span></li>
<li><span>function __construct($name){   </span></li>
<li class="alt">
<span>$this-</span><span class="tag">></span><span class="attribute">name</span><span>=$name;   </span>
</li>
<li><span>}   </span></li>
<li class="alt"><span>function __destruct(){   </span></li>
<li>
<span>echo "</span><span class="tag"><span> </span><span class="tag-name">p</span><span class="tag">></span><span>{$this-</span><span class="tag">></span><span>name}也是要死的</span><span class="tag"><span> </span><span class="tag-name">br</span><span class="tag">/></span><span class="tag"><span> /p</span><span class="tag">></span><span>";   </span></span></span></span>
</li>
<li class="alt"><span>}   </span></li>
<li><span>//这个就是所谓的构造函数,用来初始化   </span></li>
<li class="alt"><span>function go_to_sleeping(){   </span></li>
<li>
<span>echo "</span><span class="tag"><span> </span><span class="tag-name">p</span><span class="tag">></span><span>{$this-</span><span class="tag">></span><span>name}想睡觉.</span><span class="tag"><span> /p</span><span class="tag">></span><span>";   </span></span></span>
</li>
<li class="alt"><span>}   </span></li>
<li><span>function eat(){   </span></li>
<li class="alt">
<span>echo "</span><span class="tag"><span> </span><span class="tag-name">p</span><span class="tag">></span><span>{$this-</span><span class="tag">></span><span>name}想吃饭.</span><span class="tag"><span> /p</span><span class="tag">></span><span>";   </span></span></span>
</li>
<li><span>}   </span></li>
<li class="alt"><span>}   </span></li>
<li><span>class son extends father{   </span></li>
<li class="alt"><span>function playing(){   </span></li>
<li><span>//小孩子会很调皮的,当然他也是要吃要睡的生物   </span></li>
<li class="alt">
<span>echo "</span><span class="tag"><span> </span><span class="tag-name">p</span><span class="tag">></span><span>{$this-</span><span class="tag">></span><span>name}正在捣蛋...</span><span class="tag"><span> /p</span><span class="tag">></span><span>";   </span></span></span>
</li>
<li><span>}   </span></li>
<li class="alt"><span>}   </span></li>
<li>
<span>$</span><span class="attribute">your_father</span><span>=</span><span class="attribute-value">new</span><span> father("老爸");   </span>
</li>
<li class="alt">
<span>$your_father-</span><span class="tag">></span><span>go_to_sleeping();   </span>
</li>
<li>
<span>$your_father-</span><span class="tag">></span><span>eat();   </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">my_son</span><span>=</span><span class="attribute-value">new</span><span> son('宝贝');   </span>
</li>
<li>
<span>$my_son-</span><span class="tag">></span><span>go_to_sleeping();   </span>
</li>
<li class="alt">
<span>$my_son-</span><span class="tag">></span><span>eat();   </span>
</li>
<li>
<span>$my_son-</span><span class="tag">></span><span>playing();   </span>
</li>
<li class="alt">
<span class="tag">?></span><span>   </span>
</li>
<li><span class="tag"><span> ?php  </span></span></li>
<li class="alt"><span>class father{  </span></li>
<li><span>protected $name;  </span></li>
<li class="alt"><span>function __construct($name){  </span></li>
<li>
<span>$this-</span><span class="tag">></span><span class="attribute">name</span><span>=$name;  </span>
</li>
<li class="alt"><span>}  </span></li>
<li><span>function __destruct(){  </span></li>
<li class="alt">
<span>echo "</span><span class="tag"><span> </span><span class="tag-name">p</span><span class="tag">></span><span>{$this-</span><span class="tag">></span><span>name}也是要死的</span><span class="tag"><span> </span><span class="tag-name">br</span><span class="tag">/></span><span class="tag"><span> /p</span><span class="tag">></span><span>";  </span></span></span></span>
</li>
<li><span>}  </span></li>
<li class="alt"><span>//这个就是所谓的构造函数,用来初始化  </span></li>
<li><span>function go_to_sleeping(){  </span></li>
<li class="alt">
<span>echo "</span><span class="tag"><span> </span><span class="tag-name">p</span><span class="tag">></span><span>{$this-</span><span class="tag">></span><span>name}想睡觉.</span><span class="tag"><span> /p</span><span class="tag">></span><span>";  </span></span></span>
</li>
<li><span>}  </span></li>
<li class="alt"><span>function eat(){  </span></li>
<li>
<span>echo "</span><span class="tag"><span class="tag-name">p</span><span class="tag">></span><span>{$this-</span><span class="tag">></span><span>name}想吃饭.</span><span class="tag"></span><span class="tag-name">p</span><span class="tag">></span><span>";  </span></span>
</li>
<li class="alt"><span>}  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>class son extends father{  </span></li>
<li><span>function playing(){  </span></li>
<li class="alt"><span>//小孩子会很调皮的,当然他也是要吃要睡的生物  </span></li>
<li>
<span>echo "</span><span class="tag"><span> </span><span class="tag-name">p</span><span class="tag">></span><span>{$this-</span><span class="tag">></span><span>name}正在捣蛋...</span><span class="tag"><span> /p</span><span class="tag">></span><span>";  </span></span></span>
</li>
<li class="alt"><span>}  </span></li>
<li><span>}  </span></li>
<li class="alt">
<span>$</span><span class="attribute">your_father</span><span>=</span><span class="attribute-value">new</span><span> father("老爸");  </span>
</li>
<li>
<span>$your_father-</span><span class="tag">></span><span>go_to_sleeping();  </span>
</li>
<li class="alt">
<span>$your_father-</span><span class="tag">></span><span>eat();  </span>
</li>
<li>
<span>$</span><span class="attribute">my_son</span><span>=</span><span class="attribute-value">new</span><span> son('宝贝');  </span>
</li>
<li class="alt">
<span>$my_son-</span><span class="tag">></span><span>go_to_sleeping();  </span>
</li>
<li>
<span>$my_son-</span><span class="tag">></span><span>eat();  </span>
</li>
<li class="alt">
<span>$my_son-</span><span class="tag">></span><span>playing();  </span>
</li>
<li>
<span class="tag">?></span><span> </span>
</li>
</ol>
Nach dem Login kopieren

解析:在我们的第一个使用继承的范例里使用了PHP的构造函数中所提到的构造函数和PHP类的封装中的关键字,如果有什么不明白的就去看看吧!我可不想再多说了,中午没想睡觉呀.说说这段小程序吧。

在类的father里,我们定义了一般的特征,比如人的名字,人要吃饭和睡觉,然后在它的子类(后代)我们定义一个个性化的方法(playing),毕竟人与人之间是有不同的地方吧。我们使用构造函数来初始化这个人名,当然也使用了析构函数来“消灭”掉对象,但你可能没有发现在子类里内是没有构造函数和析构函数的,所以子类是继承了父的所有方法,要不然你怎么能$my_son->go_to_sleeping();这样调用呢,这就是PHP类的继承了。
 


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446065.htmlTechArticle这就像人类生儿育女一样(为什么一定要生儿育女呢,难道就是为了防老!不得而知呀),你把自己的一些基因和你老婆的基因各拿出来一...
Erklärung dieser Website
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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

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

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der Zugriff auf WordPress -Site -Datei ist eingeschränkt: Warum ist meine .txt -Datei nicht über den Domänennamen zugegriffen? Der Zugriff auf WordPress -Site -Datei ist eingeschränkt: Warum ist meine .txt -Datei nicht über den Domänennamen zugegriffen? Apr 01, 2025 pm 03:00 PM

Der Zugriff auf WordPress -Site -Datei ist eingeschränkt: Fehlerbehebung Der Grund, warum auf die TXT -Datei in letzter Zeit nicht zugegriffen werden kann. Einige Benutzer haben ein Problem beim Konfigurieren des MINI -Programms Business Domain Name: � ...

Warum tritt bei der Installation einer Erweiterung mit PECL in einer Docker -Umgebung ein Fehler auf? Wie löst ich es? Warum tritt bei der Installation einer Erweiterung mit PECL in einer Docker -Umgebung ein Fehler auf? Wie löst ich es? Apr 01, 2025 pm 03:06 PM

Ursachen und Lösungen für Fehler Bei der Verwendung von PECL zur Installation von Erweiterungen in der Docker -Umgebung, wenn die Docker -Umgebung verwendet wird, begegnen wir häufig auf einige Kopfschmerzen ...

Django Time Range Abfrage: Warum enthält der Parameter __Range kein Enddatum? Django Time Range Abfrage: Warum enthält der Parameter __Range kein Enddatum? Apr 01, 2025 pm 04:06 PM

Frage zu Django Time Range Abfrage: Warum ist das Enddatum nicht enthalten? Wenn wir Django für Datenbankabfragen verwenden, müssen wir häufig die Zeit verwenden ...

Jiutian Computing Power Platform -Aufgabe: Wird die Computeraufgabe weiter ausgeführt, nachdem der lokale Computer heruntergefahren ist? Jiutian Computing Power Platform -Aufgabe: Wird die Computeraufgabe weiter ausgeführt, nachdem der lokale Computer heruntergefahren ist? Apr 01, 2025 pm 11:57 PM

Die Diskussion über den Aufgabenstatus nach dem lokalen Computer der Jiutian Computing Power Platform ist geschlossen. Viele Benutzer werden auf eine Frage stoßen, wenn sie die Jiutian Computing Power Platform für künstliche Intelligenztraining verwenden ...

Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Wie löst ich dieses Problem? Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Wie löst ich dieses Problem? Apr 01, 2025 pm 08:09 PM

Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Bei der Programmierung stoßen wir häufig auf das Problem der Rückgabe von Nullwerten, wenn API aufruft, was nicht nur verwirrend ist ...

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Warum erscheint eine Box beim Hinzufügen chinesischer Zeichen zu einem Bild in PHP? Wie löst ich es? Warum erscheint eine Box beim Hinzufügen chinesischer Zeichen zu einem Bild in PHP? Wie löst ich es? Apr 01, 2025 pm 12:12 PM

Das Problem des Boxens beim Hinzufügen chinesischer Zeichen zu Bildern wird gefunden, wenn PHP chinesische Zeichen zu Wasserzeichen hinzufügt. Beim Hinzufügen von chinesischen Charakteren zu Bildern werden viele Entwickler auf ein seltsames Problem stoßen: Chinesische Charaktere werden ...

Den Taobao -Bestelldaten nicht erhalten: Warum springen Sie immer noch zur Anmeldeseite mit Cookies und URL -Parametern? Den Taobao -Bestelldaten nicht erhalten: Warum springen Sie immer noch zur Anmeldeseite mit Cookies und URL -Parametern? Apr 02, 2025 am 06:54 AM

Schwierigkeiten bei der Erlangung von Taobao -Bestelldaten: Umgang mit der Herausforderung der Anmeldeseite viele Freunde werden auf ein schwieriges Problem stoßen, wenn sie versuchen, Informationen über gekaufte Produkte auf Taobao zu erhalten: ...

See all articles