python基础(day8)

大纲:面向对象编程:析构函数;继承;继承的传递;重写父类方法;调用父类方法;多态;类属性和实例属性;类方法和静态方法

一:析构函数

概念:当一个对象被删除或被销毁时,python解释器会默认调用一个魔术方法 --del--

作用:操作对象的释放,一旦释放,对象将不能使用

构析方法总结:1.当整个程序脚本执行完毕后自动调用__del__  2.当对象被收到销毁时也会自动调用__del__ 3.构析函数一般用于资源回收

python基础(day8)_第1张图片

 2.继承

概念:可以继承父类的内容【属性和行为】,将多个类共有的方法提取到父类中,子类仅需继承父类而不必一一实现每个方法

继承的好处:1.可以极大的提高效率,减少代码的重复编写;精简代码的层级结构;便于拓展

单继承:

python基础(day8)_第2张图片

 多继承:

概念:子类可以继承一个父类,也可以继承多个父类

python基础(day8)_第3张图片

3.继承的传递

类的传递过程中,父类又称为基类,父类的属性和方法可以一级一级的传递到子类 

python基础(day8)_第4张图片

4.重写父类方法

背景:父类中的方法已经不满足需求

概念:在子类中,有一个方法和父类相同的名字,在子类中的方法会覆盖父类的方法

python基础(day8)_第5张图片

 调用父类方法:

python基础(day8)_第6张图片

 五:多态

概念:定义时的类型和运行时的类型不一样

条件:1.继承:多态必须发生在父类和子类之间;2.重写:子类重写父类的方法

好处:增加程序的灵活性和扩展性

python基础(day8)_第7张图片

 六:类属性和实例属性

类属性:类对象所拥有的属性,他被所有类对象的实例对象所拥有,类对象和实例对象可以访问

实例属性:实例对象所拥有的属性,只能通过实列对象访问

python基础(day8)_第8张图片

 七:类方法和静态方法

类方法:需要用装饰器@classmethod来标识为类方法,对于类方法,第一个参数必须是类对象,一般cls作为第一个参数。类方法可以通过类对象,实列对象调用

python基础(day8)_第9张图片

 静态方法

为什么要用静态方法:由于静态方法主要用于存放逻辑性代码,本身和类于以及实列对象没有交互;在静态方法中不会涉及到类中方法和属性的操作

类对象所拥有的方法,用@staticmethod来表示静态方法,静态方法不需要任何参数

python基础(day8)_第10张图片

总结:

类方法的第一个参数是cls,进而去引用对象的属性和方法

实列方法第一个参数是self,通过self去引用类属性或者实列属性。

若存在相同名称实列和类属性,实列属性优先级最高

静态方法不需要定义额外的参数,如需引用可以通过类对象或者实列对象去引用

 

你可能感兴趣的:(python)