python中多态
来源:互联网 发布:apache服务器优点 编辑:程序博客网 时间:2024/06/05 10:12
python 多态:
多态顾名思义 即一个接口的多种实现方式,子类实力指向父类对象的用法称为多态中的向上转型,多用于方法参数,类中的实例属性,以及
函数返回值中,向上转型时父类对象只能调用本类所拥有的实例,如果父类中有和子类定义相同名称的方法,则优先调用子类实例中的方法
并且,父类对象不能调用子类中特有的方法(子类有父类没有)
向下转型:则指父类实例赋值给子类对象,与向上转型不同的是子类实例不仅可以调用自己的方法,而且可以调用父类中的任何方法,包括
多态顾名思义 即一个接口的多种实现方式,子类实力指向父类对象的用法称为多态中的向上转型,多用于方法参数,类中的实例属性,以及
函数返回值中,向上转型时父类对象只能调用本类所拥有的实例,如果父类中有和子类定义相同名称的方法,则优先调用子类实例中的方法
并且,父类对象不能调用子类中特有的方法(子类有父类没有)
向下转型:则指父类实例赋值给子类对象,与向上转型不同的是子类实例不仅可以调用自己的方法,而且可以调用父类中的任何方法,包括
父类所特有的方法,当所调用的方法与父类方法一致时则仍然调用自己的方法(毕竟子类继承了父类,所以父类中的属性和方法子类中同样拥有)
任务
Python提供了open()函数来打开一个磁盘文件,并返回 File 对象。File对象有一个read()方法可以读取文件内容:
例如,从文件读取内容并解析为JSON结果:
import jsonf = open('/path/to/file.json', 'r')print json.load(f)
由于Python的动态特性,json.load()并不一定要从一个File对象读取内容。任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()。
请尝试编写一个File-like Object,把一个字符串 r'["Tim", "Bob", "Alice"]'包装成 File-like Object 并由 json.load() 解析。
- ?不会了怎么办
只要为Students类加上 read()方法,就变成了一个File-like Object。
参考代码:
import jsonclass Students(object): def read(self): return r'["Tim", "Bob", "Alice"]'s = Students()print json.load(s)
0 0
- python中多态
- Python
- Python
- Python
- python
- Python
- PYTHON
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- python
- 编程之路(各种技术的路线图)
- 个人记录-LeetCode 78. Subsets
- 安装Ubuntu
- 11、数值的整数次方
- 欢迎使用CSDN-markdown编辑器
- python中多态
- FastJson--阿里巴巴公司开源的速度最快的Json和对象转换工具
- ScriptableObject进行序列化
- 感知机
- struts2.5通配符使用异常
- Spring Boot系列教程五:使用properties配置文件实现多环境配置
- 使用Universal-Image-Loader加载图片
- 直接用URLWithString来拼接NSURL有时候得到的NSURL是为nil的
- 树链剖分小结