抽象類的作用: 規範化子類,降低使用者的難度。
抽象類是父類,該類不實現自己的方法,子類必須實現抽象類所有的方法。
抽象類只能被繼承,不能被例項化。
python自己沒有介面,必須使用第三方外掛程式,抽象類abc
抽象類裡定義了乙個屬性,這個抽象類其實跟類是一樣的。物件屬性的查詢方法跟類一樣。先從物件本身開始找,沒找到找類,類沒有再找父類,父類沒有再找抽象類。
import abcclass animal(metaclass=abc.abcmeta):#只能被繼承,不能被例項化all_type='animal'@abc.abstractmethoddef run(self):pass@abc.abstractmethoddef eat(self):
pass
# animal=animal()
class people(animal):
def run(self):
print('people is running')
def eat(self):
print('people is eating')
class pig(animal):
def run(self):
print('people is walking')
def eat(self):
print('people is eating')
class dog(animal):
def run(self):
print('people is walking')
def eat(self):
print('people is eating')
# peo1=people()
# pig1=pig()
# dog1=dog()
# ## #
# peo1.eat()
# pig1.eat()
# dog1.eat()
#print(peo1.all_type)
輸出:animal
抽象類與抽象函式
1 抽象函式 只有函式定義,沒有函式體的函式。例如 abstract void fun 2 抽象類 基類 使用abstract定義的類稱之為抽象類。記住 抽象類天生就是當爹的,要被繼承!1 抽象類不能生成物件 假設可以生成物件,那麼可以呼叫裡面的抽象函式,而抽象類中若是有乙個抽象 函式,其函式體為空...
抽象類與抽象方法
有些類注定是不能被初始化的,即不能被new 設想一下,乙個animal類下有很多子類,dog,cat,lion等,這些子類都可以被例項化,但是animal如果被例項化後會變成什麼樣?會有什麼特徵?這是難以想象的,因此像animal這樣的父類就不能例項化,我們迫切需要有一種類,只能例項化其子類物件而本...
抽象類與抽象方法
l 抽象類與抽象方法由abstract修飾 l abstract的使用注意 抽象方法沒有方法體 抽象成員只能存在於抽象類中 抽象類可以有非抽象成員 抽象類的派生類必須實現抽象方法體 抽象類只能用作基類,無法例項化 static void main string args public abstrac...