面向对象
面向对象的编程语言有三个特征:
封装、继承、多态
封装
将属性私有化,提供公开的方法来设置和访问
封装:
Python三种封装的写法:
- 常规写法
- 将属性私有 __属性名称
- 调用全局函数property,将set和get传递过去
对象.属性名称
- 使用annotation(注解)property来二次封装,(注意此处有一个伪重载
函数的重载(overload)
函数名称相同,参数的个数或类型不同
注意:python没有函数重载,因为python弱数据类型语言
函数的重写|覆盖(override)
说的是面向对象的继承中,子类继承了父类的方法,但是不满足子类的需求,
从而重新覆盖父类的方法的现象
继承(extend):
# 类似于Java private 表示除了类本身,其他的都不能访问
# 类似于java protected 表示除了本身,子类也允许访问
多态:
父类引用指向子类实例的现象,叫做多态
注意:Python是弱数据语言,而弱数据类型语言天生支持多态