python类的多重继承_python Class:面向对象高级编程 多重继承

本文通过实例介绍了Python中的多重继承和Mixin类的概念,展示了如何通过多重继承实现类的功能扩展,以及使用Mixin类来增强代码的复用性。通过创建不同类型的动物并赋予它们奔跑和飞行的能力,展示了一类和二类多重继承在实现上的相似性,强调了Python中继承机制的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

继承:通过子类继承父类信息而达到子类可以扩展功能的目的

多重继承:通过子类继承多个类

一、多重继承一类

套用廖雪峰的例子:

https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868200511568dd94e77b21d4b8597ede8bf65c36bcd000Dog - 狗狗;

Bat - 蝙蝠;

Parrot - 鹦鹉;

Ostrich - 鸵鸟。

按哺乳和鸟类分:

275a0295a3d32f5acf9eae0e58d1ae87.png

按跑和飞分:

01c9c870c6a2dbc002fe3d7dd3bd2bb3.png

总的:

fa43da90ff925cdd21d3fe29a15500b8.png

程序:

#!/usr/bin/python

# -*- coding: utf-8 -*-

class Animal(object):

pass

# 大类:

class Mammal(Animal):

pass

class Bird(Animal):

pass

#功能

class Runnable(object):

def run(self):

print('Running...')

class Flyable(object):

def fly(self):

print('Flying...')

# 各种动物:

class Dog(Mammal, Runnable):

pass

class Bat(Mammal, Flyable):

pass

class Parrot(Bird, Flyable):

pass

class Ostrich(Bird, Runnable):

pass

dog = Dog()

dog.run()

运行结果:Running...

二、多重继承二类:Mixin

除了大类,其他继承的类,只要在类名后面+Mixin就可以了。

程序:

#!/usr/bin/python

# -*- coding: utf-8 -*-

class Animal(object):

pass

# 大类:

class Mammal(Animal):

pass

class Bird(Animal):

pass

#功能

class RunnableMixin(object):

def run(self):

print('Running...')

class FlyableMixin(object):

def fly(self):

print('Flying...')

# 各种动物:

class Dog(Mammal, RunnableMixin):

pass

class Bat(Mammal, FlyableMixin):

pass

class Parrot(Bird, FlyableMixin):

pass

class Ostrich(Bird, RunnableMixin):

dog = Dog()

dog.run()

运行结果:Running...

最后发现,一类和二类没啥区别。。。。。。逗我呢。。。。。。。Mask一下,日后再回头看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值