一。面向对象三大特征
1.封装:将属性和方法写到类里面,且可以添加私有属性和方法
2.继承:子类默认继承父类的所有属性和方法,子类可以重写父类的属性和方法
3.多态:传入不同的对象,产生不同的结果
二。多态的案例:
定义:多态是一种使用对象的方法,子类重写父类方法,调用不同子类对象的相同父类方法,可以产生不同的结果
三。设置,访问,修改类属性
类属性就是类对象所拥有的属性,它被该类的所有实例属性所拥有
类属性和实例属性的区别:
实例属性要求每个对象为其开辟一块空间,类属性为全类所共有,仅占一份内存,更节省空间
1.类属性可以使用类对象和实例对象进行访问(类名 . 属性名/对象名 . 属性名)
2.修改类属性
进行类修改可以改变类对象的属性值,但通过类对象修改不会更改类的属性,只会改变类的实例属性的值
四。类方法和静态方法
1.类方法的特点:需要用装饰器@classmethod来标识方法为类方法
类方法的使用场景:当方法中需要使用类对象(如访问私有类属性时)定义类方法,类方法一般和类属性配合使用
注释:cls代表某个类
2.静态方法:需要用装饰器@staticmethod来修饰,静态方法不需要传递类对象,也不要传递实例对象
静态方法的使用场景:当方法中不需要使用实例对象(如:实例对象/实例属性),也不需要类对象(类属性/类方法时)进行静态方法的创建(不需要参数的穿传递)