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参数,使用常见:比如打印菜单等简单的类型。

 

posted @ 2020-08-10 12:10  _年少无知  阅读(122)  评论(0)    收藏  举报