python class详解_Python class类的派生与继承详解

继承与派生是面向对象程序设计中最重要的概念之一,本节教程就来介绍类的继承与派生。

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()

你好~

喵~喵~喵~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值