Python 介面類 抽象類

2022-09-13 21:12:26 字數 1174 閱讀 1224

建立乙個介面類、抽象類的規範

from abc import

abstractmethod,abcmeta

class payment(metaclass=abcmeta): #

元類 預設的元類 type

@abstractmethod

def pay(self,money):pass

#沒有實現這個方法

# 介面類 支援多繼承,介面類中的所有的方法都必須不能實現 —— j**a

# 抽象類 不支援多繼承,抽象類中方法可以有一些**的實現 —— j**a 

介面類多繼承

#

tiger 走路 游泳

#swan 走路 游泳 飛

#oldying 走路 飛

from abc import

abstractmethod,abcmeta

class swim_animal(metaclass=abcmeta):

@abstractmethod

def swim(self):pass

class walk_animal(metaclass=abcmeta):

@abstractmethod

def walk(self):pass

class fly_animal(metaclass=abcmeta):

@abstractmethod

def fly(self):pass

class

tiger(walk_animal,swim_animal):

defwalk(self):

pass

defswim(self):

pass

class oldying(fly_animal,walk_animal):pass

class swan(swim_animal,walk_animal,fly_animal):pass

#介面類 剛好滿足介面隔離原則 物件導向開發的思想 規範

# 抽象類 : 規範

# 一般情況下 單繼承 能實現的功能都是一樣的,所以在父類中可以有一些簡單的基礎實現

# 多繼承的情況 由於功能比較複雜,所以不容易抽象出相同的功能的具體實現寫在父類中

# 抽象類還是介面類 : 物件導向的開發規範 所有的介面類和抽象類都不能例項化

類 抽象類 介面

1.類 變數 靜態和非靜態 常量方法 靜態和非靜態 構造方法 游離塊靜態塊 內部類 靜態和非靜態 2.抽象類 類中可以定義抽象類都可以定義 抽象方法 特點 不能建立物件,不是因為沒有構造器或者構造器私有 3.介面 介面的概念 介面是功能的集合,同樣也是一種引用資料型別,是比 抽象類 更為抽象的類 介...

介面類抽象類

介面類 抽象類 在python中是沒有介面類,可以把介面類和抽象類視為同一種 定義 制定乙個規範 舉例 收到專案經理的要求,寫乙個支付 第一版class alipay def init self,money self.money money defpay self print zfb支付了 s se...

python 介面類和抽象類

介面類和抽象類的作用 物件導向的 規範 1 定義 python原生沒有,支援多繼承,介面類中的所有方法都不能實現,2 原則 介面隔離原則 3 規範 繼承介面類的類,必要要定義介面類的方法,若不實現方法,在該類例項化的過程中會報錯 4 歸一化 基於同乙個介面類實現的類,可以進行歸一化 from abc...