php-物件導向(2)

來源:互聯網
上載者:User
1.回顧:上篇學習了,物件導向的一些基本知識,包括$this的使用

2.這篇將學習php物件導向的繼承,屬性,靜態屬性和方法

3.繼承 (extends)

     (1)一個類可以在聲明用extends關鍵字繼承另一類的方法和成員     (2)不過擴充多少個類,只能繼承一個基類     (3)被繼承的方法和成員可以通過用同樣的名字重新聲明被覆蓋     (4)若父類定義方法使用了final關鍵字,則不可覆蓋     (5)可以通過parent::來訪問被覆蓋的父類方法和成員
 class aclass{         //成員變數         public $var="我是成員變數";         public $t1="我是t1";         //成員函數/方法         public function displayVar(){             echo "
"; echo $this->var; echo $this->t1; } } class bclass extends aclass{ public function displayVar(){ echo "我是 bclass"; parent::displayVar(); } } $f=new bclass(); $f->displayVar(); #結果: 我是 bclass 我是成員變數我是t1

4.屬性
 (1)類的成員變數為屬性/欄位/特徵。一般使用屬性。 (2)屬性聲明:          public:類成員可以在任何地方被訪問;          protected :可以被其所在類的子類和父類訪問(當然,該成員所在的類也可以訪問)          private  :能被其所在類訪問。          var :可以放在public,prorected,private前面,也可直接聲明屬性:預設是public (3)屬性變數可以進行初始化,但初始化,必須是常數 (4)在類成員方法裡,可通過 $this->屬性/方法名 來訪問屬性/方法
 class cclass{         public $var1="hello";         public $var2=array(TRUE,FALSE);      }        #在php5.3 後,可以使用nowdoc初始化屬性        public $var3=<<<'yuan';

5.靜態屬性和方法 Static
    (1)聲明類成員或方法為static,就可以不執行個體化類,而直接存取。     (2)屬性和方法預設為public     (3)偽變數$this 在靜態方法中不可用     (4)靜態屬性只能初始化為一個字元值或一個常量/整型或數組     (5)用::方式調用靜態方法或屬性
     #靜態屬性     class dclass{         public static $var4="我是static 屬性";         public function staticValue(){             //類本身調用靜態屬性             return self::$var4;         }     }     class eclass extends dclass{         public function efun(){             //調用父類靜態屬性             return parent::$var4;         }     }     echo dclass::$var4;  //結果:我是static 屬性          $e=new eclass();     echo $e->staticValue(); //結果:我是static 屬性     echo $e->efun();   //結果:我是static 屬性     echo $e::$var4; //結果:我是static 屬性     #php5.3.0後的支援     $classname='dclass';     echo $classname::$var4;//結果:我是static 屬性     echo eclass::$var4; //結果:我是static 屬性     echo $e->$var4;  ////結果:我是static 屬性     #靜態函數/方法     class fclass{         public static function ffun(){             //....         }     }

 小結:在學習過程中,發現和java,c#很多相同的知識,所有速度有些kuai!

 下篇學習php類常量,自動載入類,建構函式和解構函式!

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

以上就介紹了php-物件導向(2),包括了方面的內容,希望對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.