Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann Python von mehreren Klassen erben? Verstehen Sie die Vererbung von Python-Klassen in einem Artikel

Wie kann Python von mehreren Klassen erben? Verstehen Sie die Vererbung von Python-Klassen in einem Artikel

Tomorin
TomorinOriginal
2018-08-14 17:13:064413Durchsuche

Einer der Hauptvorteile der objektorientierten Programmierung ist die Wiederverwendung von Code. Eine Möglichkeit, diese Wiederverwendung zu erreichen, ist die Vererbung der Python-Klasse und die Ableitung von Python auf dieser Basis Erben Sie Methoden von mehreren Klassen .

Die neue Klasse, die durch Vererbung der Python-Klasse erstellt wurde, heißt Unterklasse oder abgeleitete Klasse, und die geerbte Klasse heißt Basis Klasse, Elternklasse oder Superklasse.

Vererbungssyntax:

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

Instanz

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

Die obigen Ergebnisse der Codeausführung lauten wie folgt:

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

Vererbung von Klassen Erweiterung: Python erbt mehrere Klassen

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

Sie können zur Erkennung die Methode issubclass() oder isinstance() verwenden.

issubclass() – Boolesche Funktion, um zu bestimmen, ob eine Klasse eine Unterklasse oder ein Nachkomme einer anderen Klasse ist, Syntax: issubclass(sub,sup)

isinstance(obj, Class) Boolesche Funktion, wenn obj Gibt true zurück, wenn es sich um ein Instanzobjekt der Class-Klasse oder ein Instanzobjekt einer Class-Unterklasse handelt.


Das obige ist der detaillierte Inhalt vonWie kann Python von mehreren Klassen erben? Verstehen Sie die Vererbung von Python-Klassen in einem Artikel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn