Heim > Backend-Entwicklung > Python-Tutorial > Was nützt die abstrakte Python-Klasse?

Was nützt die abstrakte Python-Klasse?

(*-*)浩
Freigeben: 2019-07-09 10:18:31
Original
4960 Leute haben es durchsucht

Abstrakte Klassen sind wie eine Mischung aus Klassen und Schnittstellen. Sie verwenden das ABC-Modul eines Drittanbieters in Python, um abstrakte Klassen zu implementieren.

Was nützt die abstrakte Python-Klasse?

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()
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage