python物件導向 抽象類,介面類

2022-08-26 11:36:16 字數 1260 閱讀 9004

python 中沒有介面這個概念

介面類,抽象類就是制定乙個規範

抽象類是乙個特殊的類,它的特殊之處在於只能被繼承,不能被例項化

抽象類的本質還是類,指的是一組類的相似性,包括資料屬性(如all_type)和函式屬性(如read、write),而介面只強調函式屬性的相似性

from abc import abcmeta,abstractmethod    #

呼叫模組

class payment(metaclass=abcmeta): #

抽象類(介面類):

@abstractmethod  #裝飾器

def pay(self): pass

#制定了乙個規範

#@abstractmethod

def func(self):pass

class

alipay(payment):

def__init__

(self,money):

self.money =money

defpay(self):

print('

使用支付寶支付了%s

' %self.money)

class

jdpay(payment):

def__init__

(self, money):

self.money =money

defpay(self):

print('

使用京東支付了%s

' %self.money)

class

wechatpay(payment):

def__init__

(self,money):

self.money =money

defpay(self):

print('

' %self.money)

defpay(obj):

obj.pay()

w1 = wechatpay(200)

a1 = alipay(200)

j1 = jdpay(100)

pay(a1)

#歸一化設計

pay(j1)

w1 = wechatpay(300)

w1.weixinpay()

定義了抽象類之後:

繼承抽象類的子類中必須要含有抽象類中所有被裝飾器裝飾過的方法(函式),這樣才可以執行

物件導向 介面類 抽象類

python 沒有介面這個概念 介面類,抽象類 制定乙個規範.介面類,抽象類 python中就是一樣的 1,歸一化設計.2,制定乙個規範,凡是繼承我類的類,必須有我規定的方法.第一版class alipay def init self,money self.money money defpay se...

物件導向15 16 抽象類 介面

參考博文 參考博文 抽象類用來描述一種型別應該具有的基本特徵和功能,具體如何去完成這些行為由子類通過方法重寫來完成,如 犬科均會吼叫,但屬於犬科的狼與狗其吼叫內容不同。所以犬科規定了有吼叫功能,但並不明確吼叫的細節。吼叫的細節應該由狼與狗這樣的犬科子類重寫吼叫的方法具體實現。即抽象方法指只有功能宣告...

PHP物件導向 介面類 抽象類

php物件導向在初學時就應該熟練掌握,但許久不用,總會生疏,在此補充記憶物件導向介面和抽象的概念。1.定義乙個介面 inte ce icaneat想實現此介面則需要實現eat方法,2.實現介面 class human implements icaneat 判斷是否實現介面 var dump man ...