python的抽象類

2021-10-24 21:36:21 字數 1263 閱讀 4425

可以借助庫abc來實現

先建立類a():

import abc

class

a(metaclass=abc.abcmeta)

:# 抽象類

@abc.abstractmethod # 宣告抽象方法

defread

(self)

:pass

@abc.abstractmethod

defwrite

(self)

:pass

def__str__

(self)

:print

("共有方法,__str__方法重寫"

)

接著分別建立b()和類c():

class

b(a)

:def

__init__

(self)

:pass

defread

(self)

:print

("b:::正在進行read讀操作........"

)def

write

(self)

:print

("b:::正在進行write寫操作........"

)class

c(a)

:def

read

(self)

:print

("c:::正在進行read操作............"

)def

write

(self)

:print

("c:::正在進行write操作.........."

)

這裡的類b()和類c()繼承類a(),因此需要重寫方法read()和write(),我們這裡測試一下

b = b(

)b.read(

)b.write(

)c = c(

)c.read(

)c.write(

)###########################

"""測試結果"""b::

:正在進行read讀操作...

....

.b:::正在進行write寫操作...

....

.c:::正在進行read操作...

....

....

.c:::正在進行write操作...

....

...

python的抽象類

抽象類 類中可以存在抽象方法,類中的抽象方法是由子類來實現,如果通過類的例項是不能被呼叫的抽象方法,只能由子類的例項物件來呼叫 子類要重寫抽象方法 class print def black print msg raise exception 必須子類實現 def rgb print msg pas...

Python 介面類 抽象類

建立乙個介面類 抽象類的規範 from abc import abstractmethod,abcmeta class payment metaclass abcmeta 元類 預設的元類 type abstractmethod def pay self,money pass 沒有實現這個方法 介面...

python抽象類 抽象方法的實現

由於python沒有抽象類 介面的概念,所以要實現這種功能得abc.py這個類庫,具體方式如下 coding utf 8 import abc 抽象類 class studentbase object metaclass abc.abcmeta abc.abstractmethod defstudy...