国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

public、protected、private的區別

2019-11-15 02:14:58
字體:
來源:轉載
供稿:網友
public、PRotected、private的區別

通過className::functionNmae()、實例化、parent、self得出結論

className::functionNmae() 需是靜態方法(public模式)

parent::functionNmae() 該類是靜態方法調用則父類需是靜態方法,該類普通方法調用不限制 。父類方法需是(public、protected兩種模式)。

self::functionNmae() 該類需是靜態方法(三種模式)

實例化:實例化后可訪問public模式的靜態方法或普通方法

一、直接訪問(通過 className::functionNmae()和實例化):

結論:

  | 可以 通過 className::functionNmae() 訪問public   | 可以 通過實例 $obj->functionName() 訪問   | 不可 通過 className::functionNmae() 訪問protected   | 不可 通過實例 $obj->functionName() 訪問   | 不可 通過 className::functionNmae() 訪問private   | 不可 通過實例 $obj->functionName() 訪問

<?php/** *  * @authors HG (hg0728@QQ.com) * @date    2015-05-26 17:12:02 * @version 1.0 */header("Content-type:text/html;charset=utf-8");class A {    static $name='這是類A的靜態變量';    static public function stc_pc(){        echo '這是類A的公共靜態方法<br />';    }    static function stc(){        echo '這是類A的靜態方法<br />';    }    static protected function stc_pd(){        echo '這是類A受保護的靜態方法<br />';    }    static private function stc_pe(){        echo '這是類A私有的靜態方法<br />';    }}A::stc_pc();//可訪問A::stc();//可訪問A::$name;//不報錯//A::stc_pd();//不可訪問//A::stc_pe();//不可訪問echo '<br><br>通過實例化訪問<br><br>';$a = new A();$a->stc_pc();//可訪問$a->stc();//可訪問//$a->$name;//報錯//$a->stc_pd();//不可訪問//$a->stc_pe();//不可訪問/********************          | 可以 通過 className::functionNmae() 訪問public    |           | 可以 通過實例 $obj->functionName() 訪問                  | 不可 通過 className::functionNmae() 訪問protected |           | 不可 通過實例 $obj->functionName() 訪問              | 不可 通過 className::functionNmae() 訪問private   |           | 不可 通過實例 $obj->functionName() 訪問    ********************/

二、直接訪問(self::functionNmae())

結論:

self::functionNmae();需是靜態方法(三種模式都可)

<?php/** *  * @authors HG (hg0728@qq.com) * @date    2015-05-26 17:18:50 * @version 1.0 */header("Content-type:text/html;charset=utf-8");class C {    static $name = "靜態變量";      static public function stc_pc(){                echo '靜態公共方法<br>';        self::stc_pd();        self::stc_pe();        self::stc();        //self::func();//報錯但有結果            }    static protected function stc_pd(){        echo '靜態受保護方法<br>';    }    static private function stc_pe(){                echo '靜態受保護方法<br>';    }    static function stc(){                echo '靜態普通方法<br>';    }    function func(){                echo '普通方法<br>';    }    }C::stc_pc();/******self::functionNmae();需是靜態方法(三種模式都可)******/

三、通過子類訪問父類(parent::functionNmae()和實例化)

結論:

parent::functionNmae(); private不可訪問$obj->functionNmae(); private不可訪問

<?php/** *  * @authors HG (hg0728@qq.com) * @date    2015-05-26 17:18:50 * @version 1.0 */header("Content-type:text/html;charset=utf-8");include '/class_a.php';class B extends A{        static public function index(){                parent::stc_pc();        parent::stc();        parent::stc_pd();        parent::$name;//不報錯        //parent::stc_pe();//不可訪問        echo '<br><br>通過實例化訪問<br><br>';        $a = new A();        $a->stc_pc();        $a->stc();        $a->stc_pd();        $a->$name;//報錯        //$a->stc_pe();//不可    }    }B::index();/******在子類中通過:parent::functionNmae(); private不可訪問$obj->functionNmae(); private不可訪問******/

四、

<?php/** *  * @authors HG (hg0728@qq.com) * @date    2015-05-28 11:54:03 * @version 1.0 */class functioninc{    function fc_a(){        echo '000  ';    }    static protected function fc_b(){        echo '111   ';      }    }class fun extends functioninc {    static function a(){        parent::fc_a(); //報錯 fc_a()不是靜態方法        parent::fc_b();    }    function b(){        parent::fc_a();        parent::fc_b();    }}/*在子類中靜態方法通過parent調用父類方法,父類方法需是靜態方法。普通方法通過parent調用父類方法,不限制。*/$a = new fun();$a->a();$a->b();

public: 公有類型 在子類中可以通過self::var調用public方法或屬性,parent::method調用父類方法     在實例中可以能過$obj->var 來調用 public類型的方法或屬性

protected: 受保護類型 在子類中可以通過self::var調用protected方法或屬性,parent::method調用父類方法 在實例中不能通過$obj->var 來調用 protected類型的方法或屬性

private: 私有類型 該類型的屬性或方法只能在該類中使用,在該類的實例、子類中、子類的實例中都不能調用私有類型的屬性和方法


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 历史| 麻栗坡县| 正镶白旗| 丘北县| 新竹市| 乌兰察布市| 温泉县| 平山县| 惠州市| 永州市| 从江县| 咸宁市| 乌拉特后旗| 汽车| 百色市| 政和县| 固镇县| 安新县| 乃东县| 杭锦后旗| 三河市| 高唐县| 永顺县| 蒙城县| 湟中县| 通化县| 扎赉特旗| 鹤峰县| 高陵县| 七台河市| 富顺县| 泰和县| 土默特左旗| 浑源县| 瑞丽市| 兴仁县| 周口市| 长岛县| 天柱县| 铅山县| 突泉县|