#抽象類:
#是乙個開發的規範,約束它的所有子類必須實現一些和它同名的方法
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...