首先在了解了繼承的一些活生生的原理后,我想再來看PHP類的繼承是不是不再那么神秘?;蛟S它本來就不神秘,是因為我們自己太復雜了吧。要有繼承就得有一個“根源”,這“根源”你可能想像你以后生了兒子或者女兒,他們會從你這里得到一些“東西(屬性和方法)”,這樣你的“后代”就是持有你的(根源)所有一些特征了。下面通過語法來描述一下這個在PHP的html' target='_blank'>面向對象中是怎么表達吧(不可能像人類那么直接啦,結婚,過段時間你的后代就產生了)
1.產生“根源”類(父類或者基類)
語法:
class father{}
1.產生“后代”(子類)
語法:
class son extends father{}
說明:父類只是一個平常的類,要想有后代你只需要在平常類后加一個extends關鍵字就OK了,這樣你的子類只擁有了父類所有的屬性和方法了。其實就是這么簡單罷了。
下面讓我們做點實際點事情吧,畢竟PHP類的繼承中定義一個父類和子類是要完成某個任務的吧!在這里這個任務比較單調,就拿人來說,人有名字(屬性),人要睡覺還要吃飯(方法)。我們就用這個基本的任務要完成本節的知識吧。
?php class father{ protected $name; function __construct($name){ $this- name=$name; function __destruct(){ echo p {$this- name}也是要死的 br/ /p //這個就是所謂的構造函數,用來初始化 function go_to_sleeping(){ echo p {$this- name}想睡覺. /p function eat(){ echo p {$this- name}想吃飯. /p class son extends father{ function playing(){ //小孩子會很調皮的,當然他也是要吃要睡的生物 echo p {$this- name}正在搗蛋... /p $your_father=new father( 老爸 $your_father- go_to_sleeping(); $your_father- eat(); $my_son=new son( 寶貝 $my_son- go_to_sleeping(); $my_son- eat(); $my_son- playing(); ?php class father{ protected $name; function __construct($name){ $this- name=$name; function __destruct(){ echo p {$this- name}也是要死的 br/ /p //這個就是所謂的構造函數,用來初始化 function go_to_sleeping(){ echo p {$this- name}想睡覺. /p function eat(){ echo p {$this- name}想吃飯. /p class son extends father{ function playing(){ //小孩子會很調皮的,當然他也是要吃要睡的生物 echo p {$this- name}正在搗蛋... /p $your_father=new father( 老爸 $your_father- go_to_sleeping(); $your_father- eat(); $my_son=new son( 寶貝 $my_son- go_to_sleeping(); $my_son- eat(); $my_son- playing(); ?
解析:在我們的第一個使用繼承的范例里使用了PHP的構造函數中所提到的構造函數和PHP類的封裝中的關鍵字,如果有什么不明白的就去看看吧!我可不想再多說了,中午沒想睡覺呀.說說這段小程序吧。
在類的father里,我們定義了一般的特征,比如人的名字,人要吃飯和睡覺,然后在它的子類(后代)我們定義一個個性化的方法(playing),畢竟人與人之間是有不同的地方吧。我們使用構造函數來初始化這個人名,當然也使用了析構函數來“消滅”掉對象,但你可能沒有發現在子類里內是沒有構造函數和析構函數的,所以子類是繼承了父的所有方法,要不然你怎么能$my_son- go_to_sleeping();這樣調用呢,這就是PHP類的繼承了。
相關文章推薦:
php中類的繼承_PHP教程
php:類的繼承和應用
以上就是php類的繼承是什么意思?php類的繼承的解析的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答