博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接口类的多继承
阅读量:6461 次
发布时间:2019-06-23

本文共 914 字,大约阅读时间需要 3 分钟。

# 动物园# 老虎 tiger 走路 游泳# 天鹅 swan 走路 游泳 飞# 老鹰 oldying 飞 走路from abc import abstractmethod, ABCMeta# 接口的多继承# 接口类class Swim_Animal(metaclass=ABCMeta):   # 游泳    @abstractmethod    def swim(self): # 被继承的子类必须实现,如果子类不实现,那子类在实例化时将会报错        passclass Walk_Animal(metaclass=ABCMeta):   # 走    @abstractmethod    def walk(self):        passclass Fly_Animal(metaclass=ABCMeta):    # 飞    @abstractmethod    def fly(self):        passclass Tiger(Walk_Animal, Swim_Animal):  # 老虎类,继承走、游泳接口类,则必须实现走与游泳接口,否则实例化时报错    def walk(self):        pass    def swim(self):        passclass Oldying(Fly_Animal, Walk_Animal):    passclass Swan(Swim_Animal, Walk_Animal, Fly_Animal):    pass# 接口隔离原则:使用多个专门的接口,而不使用单一的总接口。即客户端不应该依赖那些不需要的接口    # 上面的例子刚好满足接口隔离原则# 接口类的使用场景:实现一个类时,想要规范这个类中哪些函数是必须要实现的,如果不实现在实例化时就进行报错,这种场景下可以用接口类进行规范    # 将类必须要实现的方法,写在一个接口类中,然后那个类去继承这个接口,如果那个类没有实现接口规定的方法,则实例化时报错

 

转载于:https://www.cnblogs.com/whylinux/p/9737386.html

你可能感兴趣的文章
轮播插件swiper.js?
查看>>
网路流24题总结
查看>>
15 个 Android 通用流行框架大全
查看>>
IE8兼容@media和mp4视频的解决方案
查看>>
第二周总结
查看>>
概率图模型建模、学习、推理资料总结
查看>>
【转】知道这20个正则表达式,能让你少写1,000行代码
查看>>
自定义 启动和关闭 oracle 的命令
查看>>
Quartz
查看>>
正则表达式介绍
查看>>
初识Scala反射
查看>>
第三十九天
查看>>
Redis详解
查看>>
论程序员加班的害处
查看>>
codeblocks快捷键
查看>>
基于HTML5的WebGL设计汉诺塔3D游戏
查看>>
WPF资料链接
查看>>
过滤DataTable表中的重复数据
查看>>
再次更新
查看>>
mysql的数据类型int、bigint、smallint 和 tinyint取值范围
查看>>