python加上子类的特性_面向对象的三大特性(封装、继承、多态)-----继承

继承有几点应该注意的是:

继承要在子类加上父类的类名

子类和父类都有的方法,优先找子类的方法

python里面可以继承多个类C#,java 不可以多继承

如果继承多个类,继承顺序为从左至右

Python 3 里面的继承可以多继承,通过继承,可以获得父类的功能,继承的时候,如果父类中有重复的方法,优先找自己。

class A:

def f(self):

print(‘a‘)

class B:

def f(self):

print(‘b‘)

def f1(self):

print(‘bbbb‘)

class C(A,B):

def f1(self):

print(‘c‘)

cc=C()

cc.f() # a

cc.f1() # c

关于继承顺序需要注意例如 E继承(C,D) -->C继承(A)-->D继承(B) 如下图(python3):

如果有下面关系,D继承B,C继承A,E继承C,D,则查找顺序,E->C->A->D->B,

查找顺序如下:

python 3

第二种查找顺序:E继承(C,D)-->C继承(A),D继承(B)-->A和B都继承(Boos) ,查找顺序如下:

python 3 中的查找顺序:E->C->A->D->B->BOSS

class Boos:

def f1(self):

print(‘Boos‘)

class A(Boos):

def f1(self):

print(‘A‘)

class B(Boos):

def f1(self):

print(‘B‘)

class C(A):

def f1(self):

print(‘C‘)

class D(B):

def f1(self):

print(‘D‘)

class E(C,D):

def f1(self):

print(‘E‘)

aa = E()

aa.f1()

Python 2.7版本中

当Boss中未继承object时为经典类查找顺序是:深度优先

E->C->A->BOSS->D->B

当Boss中继承object时为新式类查找顺序是:深度优先

查找顺序:E->C->A->D->B->BOSS

原文:http://www.cnblogs.com/mosson/p/5807718.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值