python第十天
继承
继承:子类拥有父类的所有方法和属性。作用:实现代码的重用。
多态: 不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活性。
继承的语法(单继承)
class 类名(父类名):
父类的模板创建对象,可以访问自己的属性。
访问子类属性时,先找到子类中查找,子类中没有改属性,去父类中查找。
多层继承,孙子类继承了父亲类,父亲类继承爷爷类。
孙子类可以调用爷爷类的属性和方法。
重写:子类中有父类相同的方法名,子类重写了父类的方法。分类(覆盖和扩展)
覆盖:子类重写的方法与父类完全不同。
扩展: 在父类方法基础上进行功能扩展。
super().父类方法()
父类名.方法名(self) 父类名修改会影响子类调用。
子类重写了父类的方法后,调用方法时,调用的时自己重写后的方法。
继承的语法(多继承)
class 类名(父类名1,父类名2,……):
父类有同名的方法
参考__mro__方法解析顺序来调用:
新式类和经典类
经典类 python 2.x版本解释器,默认不继承object类
新式类 python 3.x版本默认继承object类
多态的实现
多态:不同的子类对象调用相同的父类方法,产生不同的结果状态。
条件:
1.要有继承。
2.要有方法的重写。
3.要有父类的对象或子类的对象作为方法的参数。
属性:实例属性,类属性
方法:实例方法,类方法,静态方法
内存空间中实际存在,叫做实例对象。
一个类模板可以创建多个实例对象,每个实例对象的内存空间彼此独立,互不干扰。
实例属性保存在实例对象的内存空间内,实例方法保存在类的模板中,但是使用实例对象调用实例方法时,绑定的过程。
---------------------------------------------------------------------------------------------
类对象
类名,就是一个变量名,类对象的引用地址。
python中一切皆对象。
类属性
记录类对象的相关特征,定义在方法外边,类的内部。
访问类属性通过: 类名.类属性
类属性只初始化一遍。
类方法
格式 : @classmethod #修饰器,对函数,方法进行装饰。(添加功能)
def 类方法名(cls): #cls 参数保存的是当前类对象的引用。
pass
修饰器的作用:在不修改函数或方法的源代码的情况下,给函数或方法添加功能,在函数调用之前或之后添加。
类方法作用:用于处理类属性或调用其他类方法。
静态方法的使用
格式:@staticmethod
def 静态方法名():
pass
静态方法不需要self 和cls参数,使用常见:比如打印菜单等简单的类型。

浙公网安备 33010602011771号