一、封装
封装:将一些属性或是方法打包起来,让外界不能随便访问,达到保护隐私的目的。
方法:通过私有属性和私有方法来实现,就是将属性或是方法名前添加双下划线
私有属性和私有方法
- 定义:双下划线开头的属性和方法
- 特点:对象在类外不能直接访问,在类内部可以访问
二 继承
1 继承格式
子类:接收的一方
父类:给予的一方
继承:如果子类继承了父类,子类就具有了父类之中绝大部分属性和方法(私有属性和方法不能继承)。
2 继承特点
- 一个父类可以被多个子类继承
- 一个子类可以继承多个父类的代码
3 重写父类方法
子类重写父类方法,则优先调用自己的方法,如果自己没有该方法,则去父类中寻找
4 重写__init__方法
子类重写了父类的 init 方法,子类必须去调用父类的 init 方法,否则父类的属性子类将无法继承
5 多继承
多继承如果父类之间没有共有方法,那么子类会全部继承,如果父类之间存在相同的方法,那么子类继承方式按照mro方法顺序继承。
# 类内部方法 mro():
查看继承顺序 print(类.mro())
6 继承好处
通过继承,子类就具有了父类的绝大多数属性和方法,这样就提高了代码的重用率,简化代码,提高代码可读性。
三 多态
由于多态使用非常灵活,没有统一的固定格式,但是要形成多态一般情况下需要继承和重写
多态的作用
- 增加代码的扩展性
- 增加代码的灵活性