實現抽象類之方式一

2022-09-10 20:39:17 字數 1242 閱讀 7312

#

抽象類:

#是乙個開發的規範,約束它的所有子類必須實現一些和它同名的方法

class pay(object): #

抽象類def

pay(self, money):

"""只要見到專案中有這種類,你的子類中必須實現和play同名的方法

"""raise notimplementederror('

請在子類中重寫與父類同名的方法')

class

alipay(pay):

def__init__

(self, name):

self.name =name

defpay(self, money):

dic =

print(f'

通過支付寶成功支付元!')

class

wechatpay(pay):

def__init__

(self, name):

self.name =name

defpay(self, money):

dic =

print(f'')

class

def__init__

(self, name):

self.name =name

defpay(self, money):

dic =

print(f'

通過蘋果支付支付了元!')

#aw = wechatpay('alex')

#aw.pay(400)##

aa = alipay('wusir')

#aa.pay(300)

#歸一化設計:

defpay(name, price, pay_kind):

if pay_kind == '

wechat':

obj =wechatpay(name)

elif pay_kind == '

alipay':

obj =alipay(name)

elif pay_kind == '':

obj.pay(price)

pay(

'alex

', 400, '

wechat')

pay(

'wusir

', 300, '

alipay')

pay(

'eva-j

', 500, '

')

介面 抽象類 實現類

如上圖介面類list只具有方法,無法例項化,我們在使用時必須通過下面的實現類來使用list的方法。用乙個類 implements 介面,這樣這個類就可以使用介面中的方法了。2.不用implements,通過api文件下的另請參見 方法建立抽象類物件,2.1 比如介面connection connec...

Junit實現抽象類測試(一)

引用 oop的乙個很好的機制是使用抽象類,抽象類是不能被例項化的,只能提供給派生類乙個介面。設計人員通常使用抽象類來強迫實現人員從基類派生,這樣可以確保新的類包含一些期待的功能。在 junit 對抽象類的測試中再次引入工廠設計模式,其測試思想是 抽象類不能被例項化,所以使用具體類測試抽象類是不可以的...

C 之抽象類

當乙個類繼承乙個抽象類卻沒有實現抽象類中的抽象方法時,此繼承類必須為抽象類 using system using system.collections.generic using system.linq using system.text namespace abstract test public...