python学习手册中的python多态示例代码
2014-01-21 00:00
656 查看
在处理多态对象时,只需要关注它的接口即可,python中并不需要显示的编写(像Java一样)接口,在使用对象的使用先假定有该接口,如果实际并不包含,在运行中报错。
客户端
可以看到跟一般的静态语言相比,python并没有在语言级别来保证接口的正确性,只能依靠文档、代码来保证(可以在代码中检查接口是否存在,hasattr(gun,'fire'))
class handGun(): def __init__(self): pass def fire(self): print 'handGun fire' class carbine(): def __init__(self): pass def fire(self): print 'carbine fire' import handGun import carbine class gunFactory(): def __init__(self,gun_type): self.gun_type = gun_type def produce(self): if handGun == self.gun_type: return handGun.handGun() else: return carbine.carbine()
客户端
fa = gunFactory(handGun) gun = fa.produce() /*只要是枪,就认为它具有开火的功能,如果没有开火的功能,程序运行中就报错*/ gun.fire()
可以看到跟一般的静态语言相比,python并没有在语言级别来保证接口的正确性,只能依靠文档、代码来保证(可以在代码中检查接口是否存在,hasattr(gun,'fire'))
相关文章推荐
- python学习手册中的python多态示例代码
- 【Python学习】python学习手册--第二十二章 模块代码编写基础
- Python菜鸟学习手册14----标准库+代码实例
- Python学习之Django的管理界面代码示例
- Python学习十一——theano库符号求导示例代码
- 【Python学习】python学习手册--第二十四章 高级模块话题
- Python基本学习-多态和重载
- python学习手册笔记--第5章--数字--第6章--动态类型
- 420小时学习代码之后:如何教你免费自学Python
- 【Python 学习手册笔记】如何运行程序
- json 入门学习笔记 示例代码
- 《Python 学习手册4th》 第十九章 函数的高级话题
- 《Python 学习手册4th》 第四章 介绍Python对象类型
- 【Python学习】python学习手册--第四章 Python对象类型
- 利用python实现简单的循环购物车功能示例代码
- 朴素贝叶斯算法学习及代码示例
- python学习(三)数字类型示例
- Python文件读写保存操作的示例代码
- 学习用 Thonny 写代码: 一个面向初学者的Python IDE
- 【Python学习手册】Python模块知识总结