php類的繼承是什麼意思?php類的繼承的解析

來源:互聯網
上載者:User
在php中,php類的繼承是屬於重要的內容也是屬於比較難以理解的部分。那麼我們該如何來學習PHP類的繼承呢?和人類生活中的遺傳一樣,php編程世界中的繼承就像是人類生世界中的遺傳一樣,這樣是不是就好理解一點了呢。那麼下面我們就來詳細的分析一下php類的繼承吧。

首先在瞭解了繼承的一些活生生的原理後,我想再來看PHP類的繼承是不是不再那麼神秘。或許它本來就不神秘,是因為我們自己太複雜了吧。要有繼承就得有一個“根源”,這“根源”你可能想像你以後生了兒子或者女兒,他們會從你這裡得到一些“東西(屬性和方法)”,這樣你的“後代”就是持有你的(根源)所有一些特徵了。下面通過文法來描述一下這個在PHP的物件導向中是怎麼表達吧(不可能像人類那麼直接啦,結婚,過段時間你的後代就產生了)

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類的繼承了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.