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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                接口的含義是:“對于實現我的所有類,看起來都是像我這個樣子”,一個固定的接口,使用他的所有代碼都知道對于那個接口會調用什么方法。 接口是一個抽象類的變體,接口中所有的方法都是抽象的 例如: ``` <?php /** * User: 三千 * Date: 16/3/30 * Time: 下午4:08 */ interface mobile{ //驅動方法 public function run(); } class plain implements mobile{ public function run(){ echo "這是飛機"; } public function fly(){ echo "這是飛"; } } class car implements mobile{ public function run(){ echo "這是汽車"; } } class machine{ function demo(mobile $a){ $a->fly(); } } $obj = new machine(); $obj->demo(new plain()); $obj->demo(new car()); ``` 返回結果: ``` changzuxindeMacBook-Pro% php 1.4.1.php 這是飛 Fatal error: Call to undefined method car::fly() in /Users/changzuxin/www/code/php_core/1.4.1.php on line 31 ``` 可以看到,第一個執行成功了,但是第二個執行失敗了。 這段代碼實際上是錯誤的,不符合接口語義。在PHP中,對plain實例進行檢測時是可以運行的。也就是說在PHP里,只關心方法是否存實現,而不關心接口語義是否正確。 在java里,接口就是一種type,如果你打破了約定,那么你就是非法的,這符合邏輯也符合現實的世界。 這樣做的好處就是,比如說我們對數據庫進行操作的時候,不需要考慮是MySQL還是Oracle,操作緩存的時候,不需要考慮是文件緩存還是內存緩存,只需要實現寫入、讀取、清楚等功能點就行。 在大型項目中,會把代碼進行分層和分工。核心開發人員開發流程和代碼,基礎人員通過這些接口來實現具體業務。
                  <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>

                              哎呀哎呀视频在线观看