<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                **多態定義**:只關心一個接口或者基類,而不關心一個對象的具體類。(**同一類型,不同結果**) 多態的應用:父類對象的引用指向子類對象,其實本質上就是一個**向上轉型**。 多態的好處:大大提高程序的擴展,增強系統的靈活性,降低模塊間的耦合。 ``` <?php // 舉個模型例子,一家公司有員工類(Employee), //還有其子類:銷售(Sales)、市場(Market)、工程師(Engineer) abstract class Employee { abstract public function continueToWork(); } class Sales extends Employee { private function makeSalePlan() { echo 'make sale plan'; } public function continueToWork() { $this->makeSalePlan(); } } class Market extends Employee { private function makeProductPrice() { echo 'make product price'; } public function continueToWork() { $this->makeProductPrice(); } } class Engineer extends Employee { private function makeNewProduct() { echo 'make new product'; } public function continueToWork() { $this->makeNewProduct(); } } class Demo { public function Work(Employee $employeeObj) { //添加父類類型限制傳參類型,使其滿足多態第三點要求,父類指向子類 $employeeObj->continueToWork(); } } //錯誤示范 $sales = new Sales(); $sales->continueToWork(); $market = new Market(); $market->continueToWork(); $engineer = new Engineer(); $engineer->continueToWork(); //以上的這種調用并不能稱為多態,雖然看起來都通過調用continueToWork()來得到結果, //但是并不是通過同一接口來實現的,這只是不同類的對象都有相同名稱的接口方法,用上述模型來說, //就是老板單獨對銷售部說你去工作,單獨對市場部說你去工作,單獨對工程師說你去工作, //而不是對所有的員工說。(不同類的不同實現) //正確調用(同類的不同實現) $obj = new Demo(); $obj->Work(new Sales()); $obj->Work(new Market()); $obj->Work(new Engineer()); ``` https://blog.csdn.net/whd526/article/details/70242918
                  <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>

                              哎呀哎呀视频在线观看