<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 功能強大 支持多語言、二開方便! 廣告
                ## 訪問控制 對屬性或方法的訪問控制,也即可見性(visibility),是通過關鍵字 public,protected,private 實現的。 * public: 被定義為公有的類成員可以在任何地方被訪問。 * protected: 被定義為受保護的類成員則可以被其自身以及其子類和父類訪問。 * private: 被定義為私有的類成員則只能被其定義所在的類訪問。 ### 屬性的訪問控制 類屬性可以定義為 public,protected,private 之一。如果用 var 定義,則被視為公有。 ``` <?php class MyClass { public $public = 'Public'; protected $protected = 'Protected'; private $private = 'Private'; function printHello() { echo $this->public; echo $this->protected; echo $this->private; } } $obj = new MyClass(); echo $obj->public; // 這行能被正常執行 echo $obj->protected; // 這行會產生一個致命錯誤 echo $obj->private; // 這行也會產生一個致命錯誤 $obj->printHello(); // 輸出 Public、Protected 和 Private class MyClass2 extends MyClass { // 可以對 public 和 protected 進行重定義,但 private 而不能 protected $protected = 'Protected2'; function printHello() { echo $this->public; echo $this->protected; echo $this->private; } } $obj2 = new MyClass2(); echo $obj2->public; // 這行能被正常執行 echo $obj2->protected; // 這行會產生一個致命錯誤 echo $obj2->private; // 未定義 private $obj2->printHello(); // 輸出 Public、Protected2 和 Undefined ?> ``` ### 方法的訪問控制 類中的方法可以被定義為 public,protected,private 如果沒有設置這些關鍵字,則默認為 public ``` <?php class MyClass { // 聲明一個公有的構造函數 public function __construct(){} // 聲明一個公有的方法 public function myPublic(){} // 聲明一個受保護的方法 protected function myProtected(){} // 聲明一個私有的方法 private function myPrivate(){} // 此方法默認為公有 function foo() { $this->myPublic(); $this->myProtected(); $this->myPrivate(); } } $obj = new MyClass; $obj->myPublic(); // 這行能被正常執行 $obj->myProtected(); // 這行會產生一個致命錯誤 $obj->myPrivate(); // 這行會產生一個致命錯誤 $obj->foo(); // 公有,受保護,私有都可以執行 class MyClass2 extends MyClass { // 此方法默認為公有 function foo2() { $this->myPublic(); $this->myProtected(); $this->myPrivate(); // 這行會產生一個致命錯誤 } } $obj2 = new MyClass2; $obj2->myPublic(); // 這行能被正常執行 $obj2->foo2(); // 公有的和受保護的都可執行,但私有的不行 ?> ```
                  <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>

                              哎呀哎呀视频在线观看