zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Python class类的派生与继承详解

Python继承 详解 Class 派生
2023-06-13 09:12:02 时间
继承与派生是面向对象程序设计中最重要的概念之一,本节教程就来介绍类的继承与派生。

Python 中定义一个类派生自另一个类的语法如下:

class 派生类名(基类名):
  数据成员声明 1
 
  数据成员声明 N

基类 BaseClassName 必须与派生类 DerivedClassName 定义在同一个作用域内。如基类来自不同的模块,可以在类名前添加模块名。在定义派生类时可以重写基类的方法。例如:


class Animal:

 name = 

 def Speak(self):

 pass

class Cat(Animal):

 name = 狗 

 def Speak(self):

 print ( 喵~喵~喵~ )

class Human(Animal):

 name = 人 

 def Speak(self):

 print ( 你好~ )

c = Cat()

c.Speak()

h = Human()

h.Speak()

上述代码的运行结果如下所示:

class Animal:
          name =
         def Speak(self):
              pass

class Cat(Animal):
         name = 狗
         def Speak(self):
              print ( 喵~喵~喵~ )
 
class Human(Animal):
         name = 人
         def Speak(self):
              print ( 你好~ )
 
c = Cat()
c.Speak()
喵~喵~喵~
h = Human()
h.Speak()
你好~

Python 支持有限的多重继承,其语法为:

class 派生类名(基类1, 基类2, , 基类N):
  数据成员声明 1
 
  数据成员声明 N

需要注意小括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,Python 将按照从左至右的顺序在这些父类中查找该方法。例如:


class Animal:

 name = 

 def Speak(self):

 pass

class Cat(Animal):

 name = 狗 

 def Speak(self):

 print ( 喵~喵~喵~ )

class Human(Animal):

 name = 人 

 def Speak(self):

 print ( 你好~ )

class Actor(Human, Cat):

 name = 演员 

 def Speak(self):

 Human.Speak(self)

 Cat.Speak(self)

a = Actor()

a.Speak()

以上代码的运行结果如下所示:

class Animal:
          name =
         def Speak(self):
              pass

class Cat(Animal):
         name = 狗
         def Speak(self):
              print ( 喵~喵~喵~ )
 
class Human(Animal):
         name = 人
         def Speak(self):
              print ( 你好~ )

class Actor(Human, Cat):
         name = 演员
         def Speak(self):
              Human.Speak(self)
              Cat.Speak(self)
 
a = Actor()
a.Speak()
你好~
喵~喵~喵~

23768.html

python