php 介面和抽象類

2021-08-09 11:52:45 字數 1460 閱讀 8329

php 介面和抽象類

介面

inte***ce 在介面內定義方法,可不提供具體的**實現

作用:提供乙個規範,如果我們知道乙個類實現了某個介面,那麼就知道了可以呼叫該介面的那些方法,我們只需要知道這些就夠了。

當有很多人一起開發乙個專案時,可能都會去呼叫別人寫的一些類,我怎麼知道他的某個功能的實現方法是怎麼命名的呢,我們定義了乙個介面類時,

它裡面的方式是下面的子類必須實現的,

//

宣告乙個shop介面類,定義了三個方法:買(buy),賣(sell),看(view)

inte***ce

shop

實現給介面時,必須實現該介面的三個方法

class baseshop implements

shop

public

function sell($gid

)

public

function view($gid

)

}

$a=new baseshop;

$a->buy(1);//執行buy方法

當我們在團隊開發時,介面提供的規範,將提高我們的開發效率

抽象類

抽象類就把類像的部分抽出來,當你發現你的很多類裡面用很多方法你不斷的在重複寫,那你就可以考慮使用抽象類了

注意:對於抽象類中的方法,子類不用全部實現,對於抽象方法,子類必須實現,若非抽象方法,之類可以重寫覆蓋

<?php 

abstract

class

baseshop

public

function sell($gid

)

abstract

function

view();

}

class ballshop extends

baseshop

public

function

open()

public

function

sell()

function

view()

}$a=new

ballshop;

$a->open();

$a->sell();

$a->view();

?>

//結果:你購買了id為 :2314的商品 新的sell方法 實現抽象方法

抽象類裡實現了這些方法,那麼繼承它的子類就自動獲得了這些方法,子類就做它自己獨特的東西,介紹**的重複,提高復用性。

介面和抽象類的區別:

php抽象類和介面

介面 使用介面,你可以指定某個類必須實現那些方法,但是不需要定義這些方法的具體內容,我們可以通過inte ce來定義乙個介面,就像定義標準類一樣,但其中定義所有的方法都是空的,介面中定義的所有的方法都必須是public 實現乙個介面,可以使用implement操作符,類中必須實現介面中定義的所用的方...

php介面 抽象類

定義為抽象的類不能被例項化。任何乙個類,如果它裡面至少有乙個方法是被宣告為抽象的,那麼這個類就必須被宣告為抽象的。抽象類可以沒有抽象方法,但是抽象類依然不能被例項化 被定義為抽象的方法只是宣告了其呼叫方式 引數 不能定義其具體的功能實現。如abstract class abstractclass a...

抽象介面 php,簡述php抽象類和介面例項

抽象類 1 抽象類中可以宣告各種型別的變數。2 類中只要有抽象方法這個類就必須申明為抽象類。抽象方法的定義 abstract 修飾符 function 方法名 param 3 抽象類中的抽象方法,在子類中必須實現,並且保持引數一致,但是可以使用額外的預設值。4 抽象類不可以直接例項化。abstrac...