<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 1.構造方法 ~~~ public function __construct($name,$age){ }; ~~~ ## 2.析構方法(使用unset刪除時會執行) ~~~ public function __destruct(){ echo '我被刪除了'; } ~~~ ## 3.魔術方法 ~~~ public function __get($param){ return $this->$param; } ~~~ >定義一個get魔術方法(用于讀取) ~~~ public function __set($param,$value){ if($param == 'age'){ if($value>0){ $this->$param = $value; } } } ~~~ >定義一個set魔術方法(用于寫入) ~~~ public function __isset($param){ return isset($this->$param); } ~~~ >定義一個isset魔術方法(用于判斷對象中非共有屬性是否存在) ~~~ public function __unset($param){ unset($this->$param); } ~~~ >定義一個unset魔術方法(用于銷毀一個對象的非共有屬性) 判斷一個對象中屬性是否存在 ~~~ if(isset($object->name)){}; ~~~ 銷毀一個對象中私有屬性 ~~~ unset($object->name); ~~~ * * * * * ~~~ public function __call($name,$param){ echo '你調用的方法$name不存在'; echo '你本次調用的參數為'; print_r($param); } ~~~ >當一個方法不存在時自動使用此魔術方法 ~~~ public function __autoload($classname){ $str = $classname.'.class.php'; if(file_exists($str)){ require($str); } } ~~~ >自動加載函數 >當實例化一個不存在的類時會自動使用此方法 ## 4.繼承一個類 ~~~ class B extends A{} ~~~ ## 5.使用父級函數 ~~~ parent::__construct($name,$age); ~~~ ## 6.靜態方法或屬性 ~~~ public static $name = ''; public static function index(){} ~~~ ## 7.調用當前類的靜態方法 ~~~ self::index(); ~~~ ## 8.修飾符 ~~~ final //不可覆蓋或繼承 ~~~ ## 9.單例設計 ~~~ class Mysql{ //定義一個靜態屬性用于判斷 static public $link = null; protected function __construct(){ echo '數據庫連接成功'; } //定義靜態方法 static public function getConnect(){ //判斷屬性是否為空 if(is_null(self::$link)){ //是為空則賦值當前對象 self::$link = new Mysql; } return self::$link; } } $db = Mysql::getConnect(); $a = clone $db; if($db === $a){ echo 'Y'; }else{ echo 'N'; } ~~~ ## 10.類中的常亮 ~~~ //定義常亮 const CEO = '首席執行官'; //類中使用常亮 self::CEO; //對象中使用常亮 A::CEO; ~~~ ## 11.判斷一個變量是否屬于一個類 ~~~ if($變量 instanceof A){} ~~~ ## 12.克隆一個對象 ~~~ $s2 = clone $s1; //相當于換了一個名字 ~~~ ## 13.類型約束 ~~~ class A{ public function fun(B $a){ echo 'ok'; } } $b = new B(); $a = new A(); $a->fun($b); ~~~ >規定的參數必須是B類的對象或者子對象 ## 14.抽象類 ~~~ //語法 abstract class A{ //抽象方法 public abstract function func3($name,$age); } //繼承一個類完成未完成的方法 class B extends A{ public function func3($name,$age){ } } ~~~ >子類必須完成父類的方法 ## 15.接口 ~~~ //語法 interface A{ //抽象方法 public function fun1(); } //定義一個抽象類 abstract class B implements A{ //這里是中層領導 } //定義一個普通類 class C extends B{ //去完成老大的方法 public function fun1(){ echo "完成后的方法"; } } ~~~ >第二步或第三步之間必須完成方法才可使用(第三步可不寫) ## 16.封裝_繼承_多態 ~~~ //定義一個主要類 class A{ //必須要通過一個接口才可運行 public function running(PCI $pci){ //開啟 $pic->start(); //關閉 $pic->stop(); } } //定義PCI接口(這個接口是提供給子抽象類的接口) interface PCI{ //定義開啟和關閉的方法 public function start(); public function stop(); } //繼承PCI接口制作抽象類 class aaa implements PCI{ public function start(){ echo "啟動了"; } public function stop(){ echo "停止了"; } } //創建一個主對象(必須) $m = new A(); //創建一個抽象對象(相當于一個功能) $n = new aaa(); //讓$n在$m上運行 $m->running($n); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看