Maison  >  Article  >  développement back-end  >  Comment faire en sorte que Python hérite de plusieurs classes ? Comprendre l'héritage des classes Python dans un article

Comment faire en sorte que Python hérite de plusieurs classes ? Comprendre l'héritage des classes Python dans un article

Tomorin
Tomorinoriginal
2018-08-14 17:13:064362parcourir

L'un des principaux avantages de la programmation orientée objet est la réutilisation du code. L'un des moyens de réaliser cette réutilisation consiste à hériter de la classe Python et à dériver Python sur cette base. Hériter des méthodes de plusieurs classes .

La nouvelle classe créée par héritage de la Classe Python est appelée sous-classe ou classe dérivée, et la classe héritée s'appelle Base classe, classe parent ou superclasse.

Syntaxe d'héritage :

class 派生类名(基类名)
    ...

Exemple

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 class Parent:        # 定义父类
   parentAttr = 100
   def __init__(self): 
        print "调用父类构造函数"
 
   def parentMethod(self): 
        print '调用父类方法'
 
   def setAttr(self, attr):
        Parent.parentAttr = attr
 
   def getAttr(self): 
        print "父类属性 :", Parent.parentAttr
 class Child(Parent): # 定义子类
   def __init__(self): 
        print "调用子类构造方法"
 
   def childMethod(self): 
        print '调用子类方法'
 c = Child()          # 实例化子类
 c.childMethod()        # 调用子类的方法
 c.parentMethod()        # 调用父类方法
 c.setAttr(200)         # 再次调用父类的方法 - 设置属性值
 c.getAttr()          # 再次调用父类的方法 - 获取属性值

Le résultat de l'exécution du code ci-dessus est le suivant :

调用子类构造方法
调用子类方法
调用父类方法
父类属性 : 200

Extension de l'héritage de classe : Python hérite de plusieurs classes

class A:        # 定义类 A
.....
class B:         # 定义类 B
.....
class C(A, B):      # 继承类 A 和 B
.....

Vous pouvez utiliser la méthode issubclass() ou isinstance() pour détecter.

issubclass() - Fonction booléenne pour déterminer si une classe est une sous-classe ou descendante d'une autre classe, syntaxe : issubclass(sub,sup)

isinstance(obj, Class) Fonction booléenne if obj Renvoie vrai s’il s’agit d’un objet instance de la classe Class ou d’un objet instance d’une sous-classe Class.


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