Python 多态浅析
来源:互联网 发布:监控qq聊天记录软件 编辑:程序博客网 时间:2024/05/21 06:53
多态是面向对象语言的一个基本特性,多态意味着变量并不知道引用的对象是什么,根据引用对象的不同表现不同的行为方式。在处理多态对象时,只需要关注它的接口即可,python中并不需要显示的编写(像Java一样)接口,在使用对象的使用先假定有该接口,如果实际并不包含,在运行中报错。原文链接点击打开链接
class HandGun():
def __init__(self):
pass
def fire(self):
print("Hand fire")
pass
pass
class Carbine():
def __init__(self):
pass
def fire(self):
print("Carbine fire")
pass
pass
class gunFactor():
def __init__(self,gun_type):
self.gun_type=gun_type
pass
def produce(self):
if HandGun == self.gun_type:
return HandGun()
else:
return Carbine()
pass
pass
fa = gunFactor(HandGun)
gun=fa.produce()
gun.fire()
可以看到跟一般的静态语言相比,python并没有在语言级别来保证接口的正确性,只能依靠文档、代码来保证(可以在代码中检查接口是否存在,hasattr(gun,'fire'))
0 0
- Python 多态浅析
- c++多态浅析
- Java多态浅析
- C++多态浅析
- 浅析 Python 的 metaclass
- Python中Lists浅析
- Python中Dictionaries浅析
- python 中Sets浅析
- 浅析python的metaclass
- Python yield 使用浅析
- 浅析Python优势所在
- python 程序构架浅析
- Python yield 使用浅析
- Python yield 使用浅析
- 浅析Python装饰器
- Python yield 使用浅析
- 浅析python的metaclass
- C++调用Python浅析
- 10个精妙的Java编码最佳实践
- 自定义单元格显示多行文本信息不完整
- 非阻塞Connect对于select时应注意问题
- cocosbuilder3.0 使用小记
- 格言
- Python 多态浅析
- [IOS]使用视图控制器和视图(十)使用 UIWebView 加载 Web 页面
- 闲的蛋疼,搞搞内核
- 开始
- oracle用户被锁定the account is locked的解决办法
- iOS安全入门
- adb install 与 adb push 的区别
- 有关大数据的误区:数据统计≠大数据
- 五.3对象数组操作长方柱类