Maison >développement back-end >Tutoriel Python >A quoi sert la classe abstraite python

A quoi sert la classe abstraite python

(*-*)浩
(*-*)浩original
2019-06-28 09:12:204960parcourir

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.

A quoi sert la classe abstraite python

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!

Déclaration:
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