私有属性和私有方法(封装)
两个'__'开头的属性是私有的,类内部可以访问私有属性,外部可以通过"_类名__私有属性(方法)名"来访问.
结果:
其中,age被设置为私有属性,调用方法_Person__age
私有方法代码\
结果
__work为私有方法,在打印对象时索引为一的位置出现
@proprety装饰器
将一个方法的调用变为普通的"属性调用"代码:
结果:
将work方法的调用方式变为属性调用
继承:
在父类里面写好的方法,让另一个类也具有,这个过程叫继承
语法格式:
class 子类类名(父类1[父类2,父类3....]) # 一个子类可以继承多个父类
类体
把之前的代码拿过来
Student继承了Person,继承结构
Student --- Person --- object
如果需要改变父类的方法,则需要在子类中重写
object根类:
object是所有类的父类
代码:
结果:
重写__str__方法:
此方法用于返回我们对一个对象的描述
super可以获得父类的定义:
结果:
多态:
同一个方法调用由于对象不同会产生不同的状态
注意:
1 是方法的多态,属性没有多态
2 必要条件:继承和方法重写