python学习笔记18 类的继承单继承多继承经典类新式类深度优先广度优先

class Person(Animal): #括号里面的是 父类/基类/超类 括号外面的是 子类/派生类

      pass

继承的优点: 1节省代码 2规范代码 

继承的初识:

子类以及子类实例化的对象,可以访问父类的任何方法或变量,类名可以访问父类所有内容

既要执行子类的方法,又要执行父类的方法有2种解决方案(2种写法,一个效果)

NO.1 在子类方法中直接引用父类方法并执行.

NO.2 super(Bird,self).__init__(name,sex,age)

          或 super().__init__(name,sex,age)

 

继承的进阶: 

继承: 单继承,多继承

 

类: 经典类,新式类 

经典类: 不继承object类都是经典类.  python2x 中所有的类默认都不继承object,所以既有经典类又有新式类.

新式类: 凡是继承object类都是新式类.  python3x 中的类都默认继承object,所以都是新式类

 

单继承:  新式类,经典类查询顺序一样

多继承:  新式类:遵循广度优先(广度优先: 每个节点有且只走一次,即是:如果下一个节点能通过其他路径走到,则他不走)

               广度优先查询方法 F.mro( ) , 查询类的继承顺序 似乎只适用于新式类

               经典类:遵循深度优先(深度优先:不会对下一个节点进行其他路径存在判断,即是一条路走到底(hei))

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章