一、私有属性和方法
私有属性和方法
- 在实际开发中,对象的某些属性或方法可能只希望在对象的内部被使用,而不希望在外部被访问到
- 私有属性就是对象不希望公开的属性
- 私有方法就是对象不希望公开的方法
定义方式
在 定义属性或方法时,在属性名或者方法名前增加两个下划线,定义的就是私有属性或方法
设置私有属性之前:
私有属性在外界不能被直接访问:
私有方法,在外界不能直接被调用
伪私有属性和私有方法
Python 中,并没有真正意义的私有
在给属性、方法命名时,实际是对名称做了一些特殊处理,使得外界无法访问
处理方式: 在名称前面加上 _类名 → _类名__名称
提示:在日常开发中,不要使用这种方式,访问对象的 私有属性 或 私有方法
二、单继承
继承的概念:子类 拥有 父类 的所有 方法 和 属性
继承的概念:子类拥有父类的所有方法和属性
继承的语法
子类继承自父类,可以直接享受父类中已经封装好的方法,不需要再次开发
子类中应该根据职责,封装子类特有的属性和方法
继承的传递性
C类从B类继承,B类又从 A 类继承
那么C类就具有B类和A类的所有属性和方法
子类拥有父类以及父类的父类中封装的所有属性和方法
三、方法的重写
子类拥有父类的所有方法和属性
子类继承自父类,可以直接享受父类中已经封装好的方法,不需要再次开发
当父类的方法实现不能满足子类需求时,可以对方法进行 重写(override)
覆盖父类的方法
如果在开发中,父类的方法实现和子类的方法实现 完全不同
就可以使用 覆盖 的方式,在子类中 重新编写 父类的方法实现
具体的实现方式,就相当于在 子类中 定义了一个 和父类相同名的方法并且实现
重写之后,在运行时,只会调用 子类中重写的方法,而不再会调用 父类封装的方法