欢迎光临大铲车网站,多功能操作简单方便

轮式大铲车生产厂家

大型铲车装载机生产,工地铲土机制造

[30叉车倍数]30。面向对象的多重继承

作者:八月      发布时间:2021-04-14      浏览量:0
我们应该给动物增加可运行和可飞行的

我们应该给动物增加可运行和可飞行的功能。只需要先定义Runnable和Flyable的类:class Runnable(object): defrun(self)3360 print(' running . '))class flyible(object): defly(self): print(' Flying . ')对于需要Runnable功能的动物,多继承一个Runnable,比如dog: class dog(哺乳动物,runnable) : pass。

通过多重继承,子类可以同时获得多个父类的所有功能

在设计类的继承关系时,通常主线是单独继承的。比如鸵鸟继承鸟。但是,如果需要“混合”额外的函数,可以通过多重继承来实现,比如让鸵鸟继承除了Bird之外的Runnable。这种设计常被称为MixIn。

Python自带的很多库也使用MixIn。比如Python自带两种网络服务,TCPServer和UDPServer。要同时服务多个用户,必须使用多进程或多线程模型,这是ForkingMixIn和ThreadingMixIn提供的。通过组合,我们可以创造合适的服务。比如写一个多进程模式的TCP服务,定义如下:class mytc pserver (TCP服务器,强制mixin) : pass。

写一个多线程模式的UDP服务,定义如下:class mydpserver (UDP server,threading mixin) : pass。