<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            php語言

            php面向對象全攻略 php5接口技術

            時間:2025-02-23 08:18:46 php語言 我要投稿
            • 相關推薦

            php面向對象全攻略 php5接口技術

              PHP 與大多數面向對象編程語言一樣,不支持多重繼承.也就是說每個類只能繼承一個父類。以下是小編為大家整理的關于PHP語言的相關知識,歡迎來閱讀!

              PHP 與大多數面向對象編程語言一樣,不支持多重繼承.也就是說每個類只能繼承一個父類。為了解決這個問題,PHP 引入了接口,接口的思想是指定了一個實現了該接口的類必須實現的一系列方法。接口是一種特殊的抽象類,抽象類又是一種特殊的類,所以接口也是一種特殊的類,為什么說接口是一種特殊的抽象類呢?如果一個抽象類里面的所有的方法都是象方法,那么我們就換一種聲明方法使用“接口”;也就是說接口里面所有的方法必須都聲明為抽象方法,另外接口里面不能聲明變量,而且接口里面所有的成員都是public 權限的。所以子類在實現的時候也一定要使用public 權限實限。聲明一個類的時候我們使用的關鍵字是“class”,而接口一種特殊的類,使用的關鍵字是“interface”;

              類的定義:class 類名{ … } ,接口的聲明:interface 接口名{ … }

              代碼片段

              復制代碼 代碼如下:

              <?

              abstract class Demo{

              var $test;

              abstract function fun1();

              abstract function fun2();

              function fun3(){

              … .

              }

              }

              $demo=new Demo(); //抽象類為能產生實例對象,所以這樣做是錯的,實例化對象交給子類

              class Test extends Demo{

              function fun1(){

              …

              }

              function fun2(){

              …

              }

              }

              $test=new Test(); //子類可以實例化對象,因為實現了父類中所有抽象方法

              ?>

              上例中定義了一個接口“one”,里面聲明了兩個抽象方法“fun1”和“fun2”,因為接

              口里面所有的方法都是抽象方法,所以在聲明抽象方法的時候就不用像抽象類那樣使用

              “abstract”這個關鍵字了,默認的已經加上這個關鍵字,另外在接口里邊的“public”這個訪

              問權限也可以去掉,因為默認就是public 的,因為接口里所有成員都要是公有的,所在對于

              接口里面的成員我們就不能使用“private”的和“protected”的權限了,都要用public 或是默

              認的。另外在接口里面我們也聲明了一個常量“constant“, 因為在接口里面不能用變量成

              員,所以我們要使用const 這個關鍵字聲明。

              因為接口是一種特殊的抽象類,里面所有的方法都是抽象方法,所以接口也不能產生實

              例對象;它也做為一種規范,所有抽象方法需要子類去實現。

              我們可以使用“extends“關鍵字讓一個接口去繼承另一個接口;

              代碼片段

              復制代碼 代碼如下:

              <?php

              //使用”extends”繼承另外一個接口

              interface Two extends One{

              function fun3();

              function fun4();

              }

              ?>

              而我們定義一接口的子類去實現接口中全部抽象方法使用的關鍵字是“implements”,而

              不是我們前面所說的“extends”;

              代碼片段

              復制代碼 代碼如下:

              <?php

              //使用“implements”這個關鍵字去實現接口中的抽象方法

              class Three implements One{

              function fun1(){

              … .

              }

              function fun2(){

              … .

              }

              }

              //實現了全部方法,我們去可以使用子類去實例化對象了

              $three=new Three();

              ?>

              我們也可以使用抽象類,去實現接口中的部分抽象方法,但要想實例化對象,這個抽象

              類還要有子類把它所有的抽象方法都實現才行;

              在前面我們說過,PHP 是單繼承的,一個類只能有一父類,但是一個類可以實現多個接

              口,就相當于一個類要遵守多個規范,就像我們不僅要遵守國家的法律,如果是在學校的話,

              還要遵守學校的校規一樣;

              代碼片段

              復制代碼 代碼如下:

              <?php

              //使用implements實現多個接口

              class Four implemtns 接口一, 接口二, … .{

              //必須把所有接口中的方法都要實現才可以實例化對象。

              }

              ?>

              PHP 中不僅一個類可以實現多個接口,也可以在繼承一個類的同時實現多個接口,一定

              要先繼承類再去實現接口;

              代碼片段

              復制代碼 代碼如下:

              <?php

              //使用extends繼承一個類,使用implements實現多個接口

              class Four extends 類名一implemtns 接口一, 接口二, … .{

              //所有接口中的方法都要實現才可以實例化對象

              … … … ..

              }

              ?>

              ?>

            【php面向對象全攻略 php5接口技術】相關文章:

            PHP面向對象程序設計之接口用法07-08

            PHP語言:面向對象01-04

            php語言中的面向對象07-28

            PHP面向對象的進階學習05-07

            PHP語言面向對象的內容06-22

            PHP面向對象的魔術方法詳解12-24

            php面向對象的程序設計01-25

            PHP面向對象三大特點學習06-14

            解讀PHP面向對象程序設計實例07-26

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院