Heim  >  Artikel  >  Backend-Entwicklung  >  Hat Python keine Schnittstelle?

Hat Python keine Schnittstelle?

(*-*)浩
(*-*)浩Original
2019-07-06 13:06:495304Durchsuche

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.

Hat Python keine Schnittstelle?

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!

Stellungnahme:
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