python回顾(五)——继承,多继承,重写,多态

继承

继承的概念

  继承描述的是一种类间关系,一个类A从另一个类B获取成员信息,称类A继承类B

  提供成员信息的类称父类(基类),获取成员信息的类称子类(派生类)

 

 

继承的作用

  子类可以使用父类的成员(成员变量,成员方法)

 

 

继承语法格式

class 类名(父类名):  

  pass

 

 

获取继承关系图谱

  使用Python内置属性__mro__可以查看继承关系

  语法格式:类名.__mro__

 

 

说明:mro即Method Resolution Order方法解析顺序

 

注意事项

  子类可以添加父类没有的成员

  父类私有成员不可被继承

 

 

 

重写

重写的概念

  重写指在子类中定义与父类相同名称的成员方法

 

 

重写的作用

  子类对父类的成员方法进行重写后,使用子类对象调用该方法时,将执行子类中重写后的方法

 

 

在子类中访问父类被重写的方法

格式一:

  父类名.方法名(对象)

 

格式二:

  super(本类名,对象).方法名()

 

格式三:(推荐)

  super().方法名()

 

 

 

 

多继承

多继承的概念

  一个类同时继承多个类,称为多继承

 

 

定义多继承语法格式

  class 类名(父类名1,父类名2…):  

    pass

 

 

多继承关系中访问父类成员冲突

  多继承关系中,当多个父类具有同名的成员,子类调时该成员时先调用继承关系中的第一个声明的类的成员

 

 

 

 

多态

多态的概念

  一个对象具有多种形态,在不同的使用环境中以不同的形态展示其功能,称该对象具有多态特征

 

鸭子类型

  鸭子类型是一种特殊的调用现象,当对象在语法层面能够满足调用关系,但对象并不具有对应的对象形态,称该对象此时具备鸭子类型

  鸭子类型是一种特殊的多态表现形式

 

注意事项

  多态通常发生在继承关系的基础之上

 

posted @ 2018-12-13 18:51  Sickle_Sky  阅读(465)  评论(0编辑  收藏  举报