大纲:面向对象编程:析构函数;继承;继承的传递;重写父类方法;调用父类方法;多态;类属性和实例属性;类方法和静态方法
一:析构函数
概念:当一个对象被删除或被销毁时,python解释器会默认调用一个魔术方法 --del--
作用:操作对象的释放,一旦释放,对象将不能使用
构析方法总结:1.当整个程序脚本执行完毕后自动调用__del__ 2.当对象被收到销毁时也会自动调用__del__ 3.构析函数一般用于资源回收
2.继承
概念:可以继承父类的内容【属性和行为】,将多个类共有的方法提取到父类中,子类仅需继承父类而不必一一实现每个方法
继承的好处:1.可以极大的提高效率,减少代码的重复编写;精简代码的层级结构;便于拓展
单继承:
多继承:
概念:子类可以继承一个父类,也可以继承多个父类
3.继承的传递
类的传递过程中,父类又称为基类,父类的属性和方法可以一级一级的传递到子类
4.重写父类方法
背景:父类中的方法已经不满足需求
概念:在子类中,有一个方法和父类相同的名字,在子类中的方法会覆盖父类的方法
调用父类方法:
五:多态
概念:定义时的类型和运行时的类型不一样
条件:1.继承:多态必须发生在父类和子类之间;2.重写:子类重写父类的方法
好处:增加程序的灵活性和扩展性
六:类属性和实例属性
类属性:类对象所拥有的属性,他被所有类对象的实例对象所拥有,类对象和实例对象可以访问
实例属性:实例对象所拥有的属性,只能通过实列对象访问
七:类方法和静态方法
类方法:需要用装饰器@classmethod来标识为类方法,对于类方法,第一个参数必须是类对象,一般cls作为第一个参数。类方法可以通过类对象,实列对象调用
静态方法
为什么要用静态方法:由于静态方法主要用于存放逻辑性代码,本身和类于以及实列对象没有交互;在静态方法中不会涉及到类中方法和属性的操作
类对象所拥有的方法,用@staticmethod来表示静态方法,静态方法不需要任何参数
总结:
类方法的第一个参数是cls,进而去引用对象的属性和方法
实列方法第一个参数是self,通过self去引用类属性或者实列属性。
若存在相同名称实列和类属性,实列属性优先级最高
静态方法不需要定义额外的参数,如需引用可以通过类对象或者实列对象去引用



