#tiger 走路 游泳#swan 走路 游泳 飞#oldying 走路 飞、import abcfrom abc import ABCMetaclass Swam_animal(metaclass=ABCMeta): @abc.abstractmethod def swam(self): passclass Fly_animal(metaclass=ABCMeta): @abc.abstractmethod def fly(self): passclass Walk_animal(metaclass=ABCMeta): @abc.abstractmethod def walk(self): passclass Tiger(Walk_animal,Swam_animal): passclass oldying(Fly_animal,Walk_animal): passclass swan(Walk_animal,Swam_animal,Fly_animal): pass#接口类的原则 接口隔离原则,应给有多个专用的接口,不使用单一的接口,客户端不依赖于那些不需要的接口#抽象类只能被继承,不能被实例化#抽象类一般都是单继承,实现的功能都是一样的,所以在父类中可以有一些简单的父类实现#多继承的情况,由于功能比较 复杂,所以不容易抽象出相同的功能的具体的实现在写在父类中#抽象类和接口类:面向对象开发规范#python中没有接口类,Java中没有多继承#python中自带多继承,所以用class实现了接口类#python中支持抽象类,Java中所有的抽象类是单继承的,python中可以多继承,一般情况下是单继承#但对于多继承,在Java中使用interface来解决多继承的规范问题
来源:https://www.cnblogs.com/648071634com/p/11884655.html