Les classes abstraites sont comme un mélange de classes et d'interfaces. Elles ont les caractéristiques des interfaces. Elles utilisent le module abc tiers en python pour implémenter des classes abstraites.
Les méthodes abstraites n'ont pas de problème de réécriture, mais il y a des problèmes de mise en œuvre (apprentissage recommandé : Tutoriel vidéo Python)
Si une classe est extraite d'un groupe d'objets avec le même contenu, alors Une classe abstraite est extraite d'un groupe de classes avec le même contenu, y compris les attributs de données et les attributs de fonction.
Une classe contenant des méthodes abstraites doit être une classe abstraite, mais une classe abstraite ne contient pas nécessairement des méthodes abstraites, et cela n'a aucun sens pour le moment.
En python, les interfaces (classes abstraites) sont souvent utilisées pour le travail collaboratif.
Remarque : En python, nous ne distinguons pas s'il s'agit d'une classe abstraite selon qu'elle a un corps exécutable, mais selon qu'il existe un décorateur @abc.abstractmethod comme 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()
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!