Python的多重继承和Java的单继承

来源:互联网 发布:异形种类 知乎 编辑:程序博客网 时间:2024/06/05 16:33

最近在学习Python,了解到Python是允许使用多重继承的,与Java的单继承不同。

仔细思考之后觉得Python的这种多重继承的设计更为合理些,更接近现实世界。因为我觉得一个物体不能严格的把它归为确定的某一类,拿动物来说,可以分为哺乳和卵生类,又可以分为陆地生物、水生生物、飞禽、两栖类等,这几种归类是在同一级的,比如鸟,属于卵生类,而同时又属于飞禽或陆地生物(比如说鸵鸟),也就是说,一个对象可能归属于多个属性,而且这些属性是在同一级,没有从属关系。

按照这种思维,Python的多重继承就设计得比较好了,在设计鸟这个类的时候可以同时让它继承卵生类和飞禽(或陆地生物)两个类。如果用Java来处理的话,鸟这个类只能继承其中的一个类,而由于以属性给动物分类和以生活地域给动物分类是没有从属关系的,所以不能够让其中一个继承另一个,再把这一个作为鸟的父类,这样设计出的鸟类是有缺陷的。

所以我个人觉得Python的多重继承更为合理。

0 0