通過簡單工廠模式實現多種支付理解抽象類和介面

2021-09-24 02:11:28 字數 1744 閱讀 5172

類是描述乙個實體的,實體則包含屬性和該屬性可以實現的動作,所以抽象類可以包含屬性和方法。

介面是描述行為的,所以介面僅可以定義方法,不可以定義屬性,但可以定義常量。

<?php 

inte***ce payinte***ce

它們都含有一些公有屬性,比如支付時間、支付金額,流水號,以及設定和獲得這些屬性的方法。所以首先應該定義乙個抽象類。

<?php 

abstract class abstractpay

public function setamount($amount)

public function setserial($serial_num)

public function getpaytime()

public function getamount()

public function getserial()

}

此時,三種支付方式分別單獨定義乙個類,繼承抽象類、實現介面。(剩下需要的功能可以在裡邊自己定義)

<?php 

include './payinte***ce.php';

include './abstractpay.php';

class wxpay extends abstractpay implements payinte***ce

}

<?php 

include './payinte***ce.php';

include './abstractpay.php';

class alipay extends abstractpay implements payinte***ce

}

<?php 

include './payinte***ce.php';

include './abstractpay.php';

class jdpay extends abstractpay implements payinte***ce

}

還需要定義乙個工廠類,用靜態方法根據引數例項化相應的支付類。

<?php 

class payfactory

}

下面進行測試:

delphi 實現簡單工廠模式

計算器的功能實現 實現工廠設計模式 通過物件導向的思想,進行設計,所用的程式設計思想為物件的三大特性 封裝,繼承,多型 通過實現乙個簡單的 計算器的功能 輸入兩個數,進行加,減,乘,除 思想思路 1.設計虛擬父類 2.子類繼承父類 3.通過虛擬方法,進行進行過載 4.工廠類,例項化物件,採用多型 u...

反射實現簡單工廠模式

傳統的簡單工廠模式缺點是 缺點 由於工廠類集中了所有例項的建立邏輯,這就直接導致一旦這個工廠出了問題,所有的客戶端都會受到牽連 這樣一來,但產品的種類增加的時候,即有不同的產品介面或者抽象類的時候,工廠類就需要判斷何時建立何種種類的產品,這就和建立何種種類產品的產品相互混淆在了一起,違背了單一職責,...

簡單工廠模式 C 實現

如下圖所示,簡單工廠模式 以計算器為例 1 新建乙個抽象類,將getresult方法封裝為純虛函式 2 由上述抽象類派生出各個實際計算操作的類 加 減 乘 除.3 在乙個新的類裡面用靜態函式來產生實際操作的物件,這個類即為工廠類 4 客戶端 使用者 呼叫工廠類,通過加 減 乘等具體需要的操作來產生相...