文章出處

 1 <?php
 2 
 3 class BaseClass{
 4      public function test() {
 5         echo "BaseClass::test called"."<br/>";
 6     }
 7 }
 8 
 9 class ChildClass extends BaseClass{
10     const CONST_VALUE = "A constant value";
11     private static $sValue = "static Value";
12     public function test() {
13         echo "ChildClass::test called"."<br/>";
14         parent::test();  //用parent關鍵字可以訪問被子類重寫的方法
15         self::called()."<br/>";  //self關鍵字訪問自身函數
16         echo self::CONST_VALUE."<br/>";  //self關鍵字訪問自身的類常量
17         echo static::$sValue."<br/>";  //static關鍵字訪問類自身的靜態成員
18     }
19     public function called() {
20         echo "ChildClass::called() called"."<br/>";
21     }
22 }
23 $obj = new ChildClass();
24 $obj->test();

輸出為:

ChildClass::test called
BaseClass::test called
ChildClass::called() called
A constant value
static Value

 

要點:

1、parent關鍵字可以用于調用父類中被子類重寫了的方法
2、self關鍵字可以用于訪問類自身的成員方法,也可以用于訪問自身的靜態成員和類常量
   不能用于訪問類自身的屬性,使用常量的時候不需要在常量名稱面前添加$符號
3、static關鍵字用于訪問類自身定義的靜態成員,訪問靜態屬性時需要在屬性前面添加$符號

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()