Maison > développement back-end > Tutoriel Python > Python n'a-t-il pas d'interface ?

Python n'a-t-il pas d'interface ?

(*-*)浩
Libérer: 2019-07-06 13:06:49
original
5378 Les gens l'ont consulté

L'interface ne définit que certaines méthodes mais ne les implémente pas. Elle est principalement utilisée dans la conception de programmes. Elle conçoit uniquement les fonctions nécessaires, mais n'implémente aucune fonction qui doit être héritée par une autre classe (B). . La classe B est utilisée pour implémenter une ou toutes les fonctions.

Python n'a-t-il pas d'interface ?

Python n'a pas d'interface, mais en python, les classes abstraites et les méthodes abstraites implémentent des fonctions d'interface ne peuvent pas être instanciées et ne peuvent être utilisées que par d'autres classes. héritage pour implémenter les fonctions correspondantes. (Apprentissage recommandé : Tutoriel vidéo Python)

Personnellement, je pense que les interfaces ne sont pas si importantes en python, car si vous souhaitez hériter d'une interface, vous devez ajoutez chaque méthode dedans Implémentez-les toutes, sinon une erreur de compilation sera signalée. Il est préférable de définir directement une classe dans laquelle toutes les implémentations de méthodes sont transmises et de laisser les sous-classes réécrire ces fonctions.

Bien sûr, s'il existe une exigence obligatoire selon laquelle toutes les classes d'implémentation doivent être écrites selon la définition dans l'interface, alors l'interface doit être utilisée.

Utilisez des classes abstraites et des fonctions abstraites pour implémenter des méthodes

#抽象类加抽象方法就等于面向对象编程中的接口
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功能"
Copier après la connexion

Pour plus d'articles techniques liés à Python, veuillez visiter la colonne Tutoriel Python pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal