抽象類,就像是類別和介面的混合體,具有介面的特性,在python中利用第三方abc模組,實作抽象類別。
抽象方法不存在重寫的問題,卻有實現的問題(建議學習:Python影片教學)
如果說類別是從一堆物件中抽取相同的內容而來的,那麼抽象類別就是從一堆類別中抽取相同的內容而來的,內容包括資料屬性和函數屬性。
含有抽象方法的類別一定是抽象類,但是抽象類別不一定含有抽象方法,此時也沒有任何意義了。
在python中介面(抽象類別)常用來協同工作。
注意:在python中,我們不以有無執行體來區分是否是抽象類,而是根據是否有@abc.abstractmethod裝飾器作為標準。
#注意:不能直接实例化抽象类!!! #示例程序: import abc #导入abc模块 class InMa(metaclass=abc.ABCMeta): #定义抽象方法 @abc.abstractmethod #定义抽象方法 def login(self): pass @abc.abstractmethod def zhuce(self): pass class Login(InMa): #继承抽象类 def __inti__(self,name,pwd): self.name = name self.password = pwd def login(self): #实现抽象方法功能 if self.name == "qq" and self.password == "111": print("恭喜登录成功") else: print("登录失败") class Zc(Login): def __init__(self,name,pwd): self.name = name self.password = pwd def zhuce(self): print("恭喜注册成功") print("username:",self.name) print("password:",self.password) #实例对象 ren = Zc("Jaue","qqq") ren.zhuce()
更多Python相關技術文章,請造訪Python教學欄位學習!
以上是python抽象類別有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!