<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 功能強大 支持多語言、二開方便! 廣告
                [TOC] ## 公共的:`public` * 可以在程序中的任何位置(類內、類外)被其他的類和對象調用。子類可以繼承和使用父類中所有的公共成員 ## 公共的:`private` * 被private修飾的變量和方法,只能在所在的類的內部被調用和修改,不可以在類的外部被訪問。在子類中也不可以 ## 公共的:`protected` * 用protected修飾的類成員,可以在本類和子類中被調用,但是在其他地方不能被調用 ## 判斷對象類:`instanceof` * 判斷一個對象是否是某個類的實例 * 判斷一個對象是否實現了某個接口 ## 接口類: `interface` * 繼承它的子類必須實現 接口類的所有方法 * 使用`implements`繼承 ``` interface Shop { public function buy($gid); public function sell($gid); public function view($gid); } ``` ## 抽象類 : `abstract` * 定義為抽象的類不能被實例化 * 任何一個類,如果它里面至少有一個方法是被聲明為抽象的,那么這個類就必須被聲明為抽象的。 * 被定義為抽象的方法只是聲明了其調用方式(參數),不能定義其具體的功能實現。 * 子類必須定義父類中的所有抽象方法;另外,這些方法的`訪問控制`必須和父類中一樣(或者更為寬松) * 使用`extends` ``` abstract?class?AbstractClass { ?//?強制要求子類定義這些方法 ????abstract?protected?function?getValue(); ????abstract?protected?function?prefixValue($prefix); ????//?普通方法(非抽象方法) ????public?function?printOut()?{ ????????print?$this\->getValue()?.?"\\n"; ????} } ``` ## 多繼承: `trait` * 通過在類中使用`use` 關鍵字,聲明要組合的`trait`名稱,具體的`trait`的聲明使用`trait`關鍵詞. * `php5.4`開始引入`trait`, 其目的就是在于減少代碼的重復,增加代碼的復用性。 * `Trait`不能實例化 * 優先級:自身方法>`trait`的方法>繼承的方法 ``` // 定義 trait 類 和方法 trait ezcReflectionReturnInfo { function getReturnType() { /*1*/ } } class ezcReflectionMethod extends ReflectionMethod { // 通過use關鍵字繼承trait類, 來執行方法, 優先級為: 自身方法 > trait方法 > 繼承方法 use ezcReflectionReturnInfo; /* ... */ } ``` ## 最終類、方法:`final` * 不能用來修飾成員屬性 * `final` 類 --- 不可被繼承。 * `final` 方法---不可被覆蓋。
                  <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>

                              哎呀哎呀视频在线观看