面向对象(二)-特性

一、封装

封装:将一些属性或是方法打包起来,让外界不能随便访问,达到保护隐私的目的。

方法:通过私有属性和私有方法来实现,就是将属性或是方法名前添加双下划线

私有属性和私有方法

  • 定义:双下划线开头的属性和方法
  • 特点:对象在类外不能直接访问,在类内部可以访问

二 继承

1 继承格式

子类:接收的一方
父类:给予的一方
继承:如果子类继承了父类,子类就具有了父类之中绝大部分属性和方法(私有属性和方法不能继承)。

2 继承特点

  • 一个父类可以被多个子类继承
  • 一个子类可以继承多个父类的代码

3 重写父类方法

子类重写父类方法,则优先调用自己的方法,如果自己没有该方法,则去父类中寻找

4 重写__init__方法

子类重写了父类的 init 方法,子类必须去调用父类的 init 方法,否则父类的属性子类将无法继承

5 多继承

多继承如果父类之间没有共有方法,那么子类会全部继承,如果父类之间存在相同的方法,那么子类继承方式按照mro方法顺序继承。

# 类内部方法 mro():
查看继承顺序 print(类.mro())

6 继承好处

通过继承,子类就具有了父类的绝大多数属性和方法,这样就提高了代码的重用率,简化代码,提高代码可读性。

三 多态

由于多态使用非常灵活,没有统一的固定格式,但是要形成多态一般情况下需要继承和重写

多态的作用

  • 增加代码的扩展性
  • 增加代码的灵活性
posted @ 2020-12-23 16:25  小杜打醋尢买布  阅读(73)  评论(0编辑  收藏  举报