介面卡模式 PHP

2021-07-30 10:38:22 字數 1066 閱讀 1387

學習框架遇到介面卡問題,做下記錄

1.類介面卡,以繼承為主要方式,擴充套件原有的類

inte***ce

class1

inte***ce

class2

class

class3

implements

class1

public

function

f2()

}class

class4

extends

class3

implements

class2

public

function

f4()

}$ob = new class4();

$ob->f1();

$ob->f2();

$ob->f3();

$ob->f4();

2.物件介面卡,以基礎類的物件傳遞方式擴充套件新的類

inte***ce

class1

inte***ce

class2

class

class3

implements

class1

public

function

f2()

}class

class4

implements

class2

public

function

__call

($func, $args)

}public

function

f3()

public

function

f4()

public

function

f5()

}$ob = new class4(new class3());

$ob->f1();

$ob->f2();

$ob->f3();

$ob->f4();

$ob->f5();

PHP介面卡模式

介面卡模式 adapter 將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。適用場景 1 已經存在的類的介面不符合我們的需求 2 建立乙個可以復用的類,使得該類可以與其他不相關的類或不可預見的類 即那些介面可能不一定相容的類 協...

php 介面卡模式

介面卡模式 現在有這樣乙個場景,某公司有一群動物,各種動物會吃飯,說話,普通實現方式就是寫乙個父類,其子類去繼承父類實現該方法 abstract class subject class cat extends subject public function eat 現在其他動物要進來,不過他們呼叫的...

php介面卡模式

abstract class toy class dog extends toy public function closemouth class cat extends toy public function closemouth 目標角色 紅棗遙控公司 inte ce redtarget 目標角...