Heim >Backend-Entwicklung >Python-Tutorial >Hat Python keine Schnittstelle?
Die Schnittstelle definiert nur einige Methoden, implementiert sie jedoch nicht. Sie entwirft nur die benötigten Funktionen, implementiert jedoch keine Funktionen, die von einer anderen Klasse geerbt werden müssen. . Klasse B wird zur Implementierung einer oder aller Funktionen verwendet.
Python hat keine Schnittstelle, aber in Python implementieren abstrakte Klassen und abstrakte Methoden Schnittstellenfunktionen, die nicht instanziiert werden können und nur von anderen Klassen verwendet werden können Vererbung zur Implementierung entsprechender Funktionen. (Empfohlenes Lernen: Python-Video-Tutorial)
Ich persönlich denke, dass Schnittstellen in Python nicht so wichtig sind, denn wenn man eine Schnittstelle erben möchte, muss man das tun Fügen Sie jede darin enthaltene Methode hinzu. Implementieren Sie sie alle. Andernfalls wird ein Kompilierungsfehler gemeldet. Es ist besser, direkt eine Klasse zu definieren, in der alle Methodenimplementierungen übergeben werden, und diese Funktionen von Unterklassen neu schreiben zu lassen.
Wenn es eine zwingende Anforderung gibt, dass alle Implementierungsklassen gemäß der Definition in der Schnittstelle geschrieben werden müssen, muss natürlich die Schnittstelle verwendet werden.
Verwenden Sie abstrakte Klassen und abstrakte Funktionen, um Methoden zu implementieren
#抽象类加抽象方法就等于面向对象编程中的接口 from abc import ABCMeta,abstractmethod class interface(object): __metaclass__ = ABCMeta #指定这是一个抽象类 @abstractmethod #抽象方法 def Lee(self): pass def Marlon(self): pass class RelalizeInterfaceLee(interface):#必须实现interface中的所有函数,否则会编译错误 def __init__(self): print '这是接口interface的实现' def Lee(self): print '实现Lee功能' def Marlon(self): pass class RelalizeInterfaceMarlon(interface): #必须实现interface中的所有函数,否则会编译错误 def __init__(self): print '这是接口interface的实现' def Lee(self): pass def Marlon(self): print "实现Marlon功能"
Weitere technische Artikel zu Python finden Sie in der Spalte Python-Tutorial, um mehr darüber zu erfahren!
Das obige ist der detaillierte Inhalt vonHat Python keine Schnittstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!