亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php 繼承詳解

2024-09-04 11:43:39
字體:
來源:轉載
供稿:網友

繼承:通常需要這樣一些類,這些類與其它現有的類擁有相同變量和函數,實際上,定義一個通用類用于所有的項目,并且不斷豐富這個類以適應每個具體項目將是一個不錯的練習,為了使這一點變得更加容易,類可以從其它的類中擴展出來,擴展或派生出來的類擁有其基類(這稱為“繼承”,只不過沒人死)的所有變量和函數,并包含所有派生類中定義的部分,類中的元素不可能減少,就是說,不可以注銷任何存在的函數或者變量,一個擴充類總是依賴一個單獨的基類,也就是說,不支持多繼承,使用關鍵字“extends”來擴展一個類.

  1. <?php 
  2. class test { 
  3.  
  4.     public function __construct() {  
  5.     } 
  6.  
  7.     public function name() {  
  8.         $this->xname('John');  
  9.     } 
  10.  
  11.     private function showName($name) {  
  12.         echo 'my name in test is '.$name;  
  13.     }  
  14.  
  15. class extendTest extends test { 
  16.  
  17.     public function __construct() {  
  18.         parent::__construct();  
  19.     } 
  20.  
  21.     private function showName($name) {  
  22.         echo 'my name in extendTest is '.$name;  
  23.     }  
  24.  
  25. $test = new extendTest();  
  26. $test->name();  
  27. ?> 

上述示例定義了名為 Named_Cart 的類,該類擁有 Cart 類的所有變量和函數,加上附加的變量 $owner 和一個附加函數 set_owner(),現在,以正常的方式創建了一個有名字的購物車,并且可以設置并取得該購物車的主人,而正常的購物車類的函數依舊可以在有名字的購物車類中使用:

  1. <?php 
  2. $ncart = new Named_Cart;    // 新建一個有名字的購物車 
  3. $ncart->set_owner("kris");  // 給該購物車命名 
  4. print $ncart->owner;        // 輸出該購物車主人的名字 
  5. $ncart->add_item("10", 1);  // (從購物車類中繼承來的功能) 
  6. ?> 

這個也可以叫做“父-子”關系,創建一個類,父類,并使用 extends 來創建一個基于父類的新類:子類,甚至可以使用這個新的子類來創建另外一個基于這個子類的類.

Note:類只有在定義后才可以使用,如果需要類 Named_Cart 繼承類 Cart,必須首先定義 Cart 類,如果需要創建另一個基于 Named_Cart 類的 Yellow_named_cart 類,必須首先定義 Named_Cart 類,簡捷的說:類定義的順序是非常重要的.

  1. <?php 
  2. class Person{ 
  3.  protected $name;//protected保護的權限,在子類可以訪問,外部不能訪問 
  4.  protected $age
  5.  protected $sex
  6.  
  7.  function __construct($name,$age,$sex){ 
  8.   $this->name=$name;//當使用this時,就算name沒有聲明,也會再次聲明一個 
  9.   $this->age=$age
  10.   $this->sex=$sex
  11.  
  12.   echo "###############"
  13.  } 
  14.  
  15.  public function say(){ 
  16.   echo "我的名字:{$this->name},我的年齡{$this->age}:,我的性別:{$this->sex}<br/>"
  17.  } 
  18.  
  19.  protected function eat(){ 
  20.  
  21.   echo "wwwwwwwwwwwwwwwwwwwww<br>"
  22.  
  23.  } 
  24.  
  25.  function run(){ 
  26.  
  27.  } 
  28.  protected $name;//protected保護的權限,在子類可以訪問,外部不能訪問 
  29.  protected $age
  30.  protected $sex
  31.  
  32. //繼承 
  33. class Student extends Person{ 
  34.  var $school
  35.  
  36.  function __construct($name,$age,$sex,$school){ 
  37.   parent::__construct();//調用父類的構造方法 
  38.   $this->school=$school
  39.  } 
  40.  
  41.  //重載say()方法,進行擴展 
  42.  protected function say(){//父類使用public,子類的權限不能低于父類,可以喝父類的權限相同 
  43.   //Person::say();//調用父類的say()方法 
  44.   parent::say();//調用父類say()方法,parent代表父類名,當父類名變化時也能夠調用。 
  45.  
  46.   echo "我所在的學校{$this->school}<br/>"
  47.  } 
  48.  
  49.  function study(){ 
  50.   echo "{$this->name}在學習<br/>"
  51.  } 
  52.  
  53.  
  54. $s=new Student("zhangsan",23,"男"); 
  55. $s->say(); 
  56. $s->study(); 
  57. ?> 

1.面向對象的三大特性之一

2.開放性、可擴充性

3.增加代碼的重用性

4.提高了軟件的可維護性

5.繼承就是用子類去“擴展”父類

C++ 屬于多繼承,同一個類可以有多個父類

PHP和JAVA屬于單繼承,同一個類只能有一個父類

不管是多繼承或者單繼承,都可以有多個子類

只要你在設計兩個類時,有可以共享的成員,就將可以共享的內容單獨作為一個基類使用

一、類繼承的應用

1.聲明一個子類,使用extends關鍵字去繼承(擴展)一個父類

2.子類可以從父類中繼承所有的內容,包括成員屬性方法,構造方法......,在子類中都可以使用

二、訪問類型控制

雖然子類可以從父類中繼承所有內容,但私有的private成員,只能在本類中使用,子類中也不能使用

封裝時,既可以讓自己類的內部可以訪問,也讓子類可以用,但類的外部不能使用,只要將權限設置為protected

三、子類中重載父類的方法

1.子類可以聲明可以聲明和父類相同的方法名,即子類覆蓋了父類同名的方法

2.子類的方法對父類方法的擴展

3.在子類中調用父類中被覆蓋的方法

使用 父類名::方法名()  parent::方法名()

4.在子類中編寫構造方法,如果父類中也有構造方法,一定要去調用一次父類中被覆蓋的構造方法

注意:子類中重載的方法,不能低于父類中訪問權限(子類可以放大權限,但不能縮小權限).

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人黄色av| www日韩中文字幕在线看| 亚洲精品久久久一区二区三区| 亚洲欧洲国产一区| 精品国产成人av| 久久精品国产亚洲一区二区| 亚洲成人网在线| 日韩极品精品视频免费观看| 国产综合在线观看视频| 亚洲石原莉奈一区二区在线观看| 国产日韩中文在线| 精品毛片三在线观看| 欧美最猛性xxxxx免费| 第一福利永久视频精品| 97在线观看免费| 久久久久久久久久久国产| 国产精品美乳一区二区免费| 中文字幕综合在线| 亚洲日本欧美日韩高观看| 日韩精品一二三四区| 亚洲成色777777女色窝| 91精品国产自产91精品| 日韩av在线免播放器| 伊人成人开心激情综合网| 亚洲激情久久久| 91精品视频在线免费观看| 欧美电影在线观看完整版| 日韩欧美在线观看| 欧美另类老女人| 久久精品久久久久电影| 91精品国产乱码久久久久久蜜臀| 久久久久久噜噜噜久久久精品| 亚洲最大在线视频| 国语自产精品视频在线看| 欧美xxxx综合视频| 欧美成人精品在线观看| 国产偷国产偷亚洲清高网站| 色久欧美在线视频观看| 欧美日韩中文字幕在线视频| 日韩欧美999| 911国产网站尤物在线观看| 欧美一区二区三区图| 国产欧美一区二区三区在线| 国产日韩av在线| 亚洲一区免费网站| 国产日韩欧美视频在线| 日韩av在线网站| 国产精品啪视频| 国产日韩欧美在线| 欧美日在线观看| 欧美激情国内偷拍| 亚洲欧美成人精品| 国产成人综合av| 精品久久久久久久久久久久久久| 国产精品爱久久久久久久| 亚洲精品久久久久久久久久久久久| 国产精品欧美风情| 8090成年在线看片午夜| 最近2019年日本中文免费字幕| 亚洲午夜性刺激影院| 亚洲视频免费一区| 俺去亚洲欧洲欧美日韩| 亚洲成年人在线播放| 国产精品久久999| 欧美性极品少妇精品网站| 狠狠躁夜夜躁人人躁婷婷91| 久久久国产精品亚洲一区| 精品性高朝久久久久久久| 俺去啦;欧美日韩| 深夜福利91大全| 日韩高清av一区二区三区| 国产综合福利在线| 色av中文字幕一区| 曰本色欧美视频在线| 国产欧美一区二区三区在线| 欧美日韩国产成人在线观看| 国产精品久久久久久久久久久久久| 亚洲国产欧美精品| 亚洲91精品在线| 免费97视频在线精品国自产拍| 777国产偷窥盗摄精品视频| 精品久久久久人成| 亚洲少妇激情视频| 992tv成人免费影院| 亚洲人成在线免费观看| 亚洲第一男人av| 中文字幕亚洲一区在线观看| 91国在线精品国内播放| 日韩一区二区三区xxxx| 亚洲的天堂在线中文字幕| 国产精品吊钟奶在线| 国产精品国产亚洲伊人久久| 日韩av网站在线| 成人精品在线视频| 亚洲免费av电影| 久久久亚洲影院| 国产区精品视频| 欧美日韩电影在线观看| 亚洲永久免费观看| 97香蕉超级碰碰久久免费软件| 日本欧美一二三区| 日韩成人在线观看| 亚洲免费视频网站| 亚洲欧美激情在线视频| 理论片在线不卡免费观看| 国产视频久久久久久久| 中文字幕欧美在线| 成年人精品视频| 日韩欧美中文字幕在线观看| 久久男人的天堂| 久久久久999| 久久久国产精彩视频美女艺术照福利| 国产精品久久不能| 国产精品成人观看视频国产奇米| 欧美激情啊啊啊| 亚洲人成77777在线观看网| 欧美噜噜久久久xxx| 久青草国产97香蕉在线视频| 国产精品va在线播放| 欧美精品在线第一页| 日韩欧美国产网站| 久久精品久久精品亚洲人| 欧美日韩国产成人高清视频| www.精品av.com| 日韩视频在线观看免费| 欧美激情视频网站| 国产成人在线视频| 亚洲欧美制服第一页| 91网站免费看| 日韩av网址在线观看| 亚洲美女在线视频| 91av在线免费观看| 国内免费久久久久久久久久久| 欧美一乱一性一交一视频| 亚洲第一在线视频| 亚洲欧洲成视频免费观看| 亚洲国产精品va在线观看黑人| 亚洲人成毛片在线播放| 日本中文字幕成人| 2019精品视频| 久久久久久久久久久国产| 国产精品一区二区三区久久久| 亚洲国产精品小视频| 亚洲人成毛片在线播放| 91伊人影院在线播放| 国产精品久久久久久久久粉嫩av| 日韩欧美成人免费视频| 国产精品第七十二页| 8050国产精品久久久久久| 欧美裸体xxxx极品少妇软件| 久久夜色撩人精品| 国产精品视频网| 国产精品第一视频| 欧美成年人视频网站| 国产精品自产拍在线观看| 亚洲性生活视频在线观看| 欧美日韩一区二区在线| 国产精品成人观看视频国产奇米| 狠狠操狠狠色综合网| 最新日韩中文字幕| 成人女保姆的销魂服务| 亚洲综合中文字幕68页| 欧美在线免费观看| 日韩免费中文字幕|