极客编程python入门-多重继承

时间:2022-12-28 09:00:08


多重继承

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


Python自带的很多库也使用了MixIn。举个例子,Python自带了​TCPServer​​UDPServer​这两类网络服务,而要同时服务多个用户就必须使用多进程或多线程模型,这两种模型由​ForkingMixIn​​ThreadingMixIn​提供。通过组合,我们就可以创造出合适的服务来。


比如,编写一个多进程模式的TCP服务,定义如下:


class MyTCPServer(TCPServer, ForkingMixIn):
pass


编写一个多线程模式的UDP服务,定义如下:


class MyUDPServer(UDPServer, ThreadingMixIn):
pass


这样一来,我们不需要复杂而庞大的继承链,只要选择组合不同的类的功能,就可以快速构造出所需的子类。



极客编程python入门-多重继承