Python 封装,继承,多态
2017-05-27 15:32
489 查看
继承
继承就是复制父类的内容,到子类里面In [1]: class Animal(object): ...: def __init__(self,name): ...: self.name=name ...: def speak(self): ...: print("animal") ...: ...: class Cat(Animal): ...: pass In [2]: tom=Cat("tom") In [3]: tom.name Out[3]: 'tom' In [4]: tom.speak() animal
1. 私有方法和属性,不能被子类继承和访问
2. 子类和各个父类中如果有相同方法,优先调用自己,然后向上寻找最近父类(如果父类有平行类,则按继承顺序从左至右继承,可以用__mro__来查看继承顺序)“覆盖”一词用的并不好,并没有“覆盖”掉,只是调用的顺序不同。
3. 调用被重写父类的方法有两种
3.1. super().func()
3.2. name.func(self)
4. 调用父类同名方法的一个应用就是私有方法和属性不会被继承,但可以通过父类中调用私有方法的方法来调用父类的私有方法
多态
多态就是参数虽然设置为父类的类型,但仍可以传入其子类的类型因为python 不能声明参数类型(动态语言),所以对多态体现的不强,而其使用的是鸭子类型(“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。”)
相关文章推荐
- Python学习记录七---继承、多态和封装
- 20161028 Python 读书笔记之类、多态、继承、封装
- Python之面向对象编程:封装、继承、多态
- python中面向对象--封装、继承、多态
- python面向对象--封装,继承,多态
- Python中关于封装,继承,多态的表述
- Python学习之面向对象(封装、继承、多态)
- python学习笔记14(多态、封装、继承)
- python基础教程---更加抽象,类,继承多态封装
- Python 学习笔记 - 面向对象(封装,继承和多态)
- python面向对象三大特性之继承、多态、封装
- python学习小结5:封装、继承、多态
- python学习小结5:封装、继承、多态
- python——类——封装 继承 多态
- python3全栈开发-面向对象的三大特性(继承,多态,封装)之继承
- Python 学习笔记 - 面向对象(封装,继承和多态)
- 初学Python的学习笔记8----面向对象、数据封装、访问限制、继承和多态
- Python基础(6)- 类和对象(使用、继承、派生、组合、接口、多态、封装、property、staticmethod、classmethod、反射、slots、上下文管理协议、元类)
- python学习笔记14(多态、封装、继承)
- 对于Python面向对象部分的理解(封装继承多态等等)