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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                PHP是單繼承語言,因此一個類不能同時繼承多個類。當一個類需要多個類的功能時,除了使用trait關鍵字,還可以使用接口技術。 如果一個抽象類里面的所有方法都是抽象方法,且沒有聲明變量,而且接口里面所有成員都是public權限的,那么這種特殊的抽象類就是接口。 **應用場景:** * 保持規范、統一性 * 多個類需要實現同樣的方法,只是實現方式不一樣 **接口使用規范:** * 接口不能實例化 * 接口屬性必須是常量 * 接口方法必須是public,且不能有函數體 * 類必須實現接口的所有方法 * 一個類可以同時實現多個接口,用逗號隔開 * 接口可以繼承接口,使用extends關鍵字。 * 接口使用關鍵字interface來定義,使用implements關鍵字來實現 * 類要實現接口,必須使用和接口中所定義的方法完全一致的方式。否則會導致致命錯誤. * 實現多個接口時,接口中的方法不能有重名。 ``` <?php //定義接口 interface User{ function getDiscount(); function getUserType(); } //VIP用戶 接口實現 class VipUser implements User{ // VIP 用戶折扣系數 private $discount = 0.8; function getDiscount() { return $this->discount; } function getUserType() { return "VIP用戶"; } } class Goods{ var $price = 100; var $vc; //定義 User 接口類型參數,這時并不知道是什么用戶 function run(User $vc){ $this->vc = $vc; $discount = $this->vc->getDiscount(); $usertype = $this->vc->getUserType(); echo $usertype."商品價格:".$this->price*$discount; } } $display = new Goods(); $display ->run(new VipUser); // VIP用戶商品價格:80 元 ?> ``` **抽象類和接口的區別:** * 接口是特殊的抽象類,接口使用關鍵字implements,抽象類使用extends。 * 接口只能聲明常量,抽象類可以聲明變量。 * 接口沒有構造函數,抽象類可以有。 * 一個類可以繼承多個接口,只能繼承一個抽象類 * 子類使用implements來實現接口則需要實現接口中所有方法;如果子類繼承抽象類,只需要實現需要的方法 * 接口中的方法必須是public,抽象類中的方法可以用public,protected,private
                  <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>

                              哎呀哎呀视频在线观看