Abstrakte Klassen sind wie eine Mischung aus Klassen und Schnittstellen. Sie verwenden das ABC-Modul eines Drittanbieters in Python, um abstrakte Klassen zu implementieren.
Abstrakte Methoden haben nicht das Problem des Umschreibens, aber es gibt Probleme bei der Implementierung (empfohlenes Lernen: Python-Video-Tutorial)
Wenn eine Klasse aus einer Reihe von Objekten mit demselben Inhalt extrahiert wird, dann Eine abstrakte Klasse wird aus einer Reihe von Klassen mit demselben Inhalt extrahiert, einschließlich Datenattributen und Funktionsattributen.
Eine Klasse, die abstrakte Methoden enthält, muss eine abstrakte Klasse sein, aber eine abstrakte Klasse enthält nicht unbedingt abstrakte Methoden und macht derzeit keinen Sinn.
In Python werden häufig Schnittstellen (abstrakte Klassen) für die Zusammenarbeit verwendet.
Hinweis: In Python unterscheiden wir nicht, ob es sich um eine abstrakte Klasse handelt, basierend darauf, ob sie einen ausführbaren Körper hat, sondern basierend darauf, ob es einen @abc.abstractmethod-Dekorator als @abc.abstractmethod-Dekorator gibt Standard.
#注意:不能直接实例化抽象类!!! #示例程序: 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()
Weitere technische Artikel zum Thema Python finden Sie in der Spalte Python-Tutorial, um mehr darüber zu erfahren!
Das obige ist der detaillierte Inhalt vonWas nützt die abstrakte Python-Klasse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!