Maison > développement back-end > Tutoriel Python > Qu'est-ce que l'héritage des classes Python ? Quelles sont les règles d'héritage de classe ?

Qu'est-ce que l'héritage des classes Python ? Quelles sont les règles d'héritage de classe ?

乌拉乌拉~
Libérer: 2018-08-20 14:39:12
original
3357 Les gens l'ont consulté

Dans cet article, apprenons l'héritage des classes python. Pour ceux qui viennent d'entrer en contact avec le langage de programmation python, ils en savent peut-être moins sur l'héritage des classes python, mais cela n'a pas d'importance. suivant Dans cet article, nous découvrirons les règles d'héritage des classes python J'analyserai les exemples d'héritage des classes python ci-dessous.

Héritage de classe

L'un des principaux avantages apportés par la programmation orientée objet est la réutilisation du code, et l'un des moyens d'y parvenir est l'héritage mécanisme.

La nouvelle classe créée par héritage est appelée sous-classe ou classe dérivée, et la classe héritée est appelée classe de base, classe parent ou super classe.

Syntaxe d'héritage

class 派生类名(基类名)
    ...
Copier après la connexion

Quelques fonctionnalités de l'héritage en python :

1 Si la structure de la classe parent est requise dans la sous-classe. La méthode doit appeler explicitement le constructeur de la classe parent ou ne pas remplacer le constructeur de la classe parent. Pour des instructions détaillées, veuillez consulter : Description du constructeur de la classe parent de l'héritage de la sous-classe Python.

2. Lors de l'appel de la méthode de la classe de base, vous devez ajouter le préfixe du nom de classe de la classe de base et apporter la variable de paramètre self. La différence est que lorsque vous appelez des fonctions ordinaires dans une classe, vous n'avez pas besoin d'apporter le paramètre self

3. Python recherche toujours d'abord la méthode du type correspondant s'il ne trouve pas la méthode correspondante dans le fichier. classe dérivée, il commence à accéder à la classe de base. Recherchez chaque classe une par une. (Recherchez d'abord la méthode appelante dans cette classe, puis recherchez-la dans la classe de base si vous ne la trouvez pas).

Si plus d'une classe est répertoriée dans le tuple d'héritage, alors cela est appelé "héritage multiple".

Syntaxe

Déclarations de classes dérivées, similaires à leurs classes parents, avec une liste de classes de base héritées suivant le nom de la classe, comme suit :

class SubClassName (ParentClass1[, ParentClass2, ...]):
    ...
Copier après la connexion

Analyse d'instance

# !/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()  # 再次调用父类的方法 - 获取属性值
Copier après la connexion

Les résultats d'exécution de code ci-dessus sont les suivants :

调用子类构造方法
调用子类方法
调用父类方法
父类属性 :200
Copier après la connexion

Vous pouvez hériter de plusieurs classes

class A:        # 定义类 A
.....
class B:         # 定义类 B
.....
class C(A, B):   # 继承类 A 和 B
.....
Copier après la connexion

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

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

2.isinstance(obj, Class) La fonction booléenne renvoie true si obj est un objet instance de la classe Class ou un objet instance d'une sous-classe Class.

Ce qui précède est tout le contenu de cet article. Cet article présente principalement la connaissance de l'héritage des classes python . J'espère que vous pourrez utiliser les informations pour comprendre ce qui est dit ci-dessus et les exemples donnés. J'espère que ce que j'ai décrit dans cet article vous sera utile et vous facilitera l'apprentissage de Python.

Pour plus de connaissances connexes, veuillez visiter la colonne Tutoriel Python du site Web php chinois.

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