类的组合 多继承调用示例
Posted flags-blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的组合 多继承调用示例相关的知识,希望对你有一定的参考价值。
类的组合
1 class Foo1(object): 2 def __init__(self, name): 3 self.name1 = name 4 def get_name(self): 5 print("my name is %s"%self.name1) 6 7 class Foo2(object): 8 def __init__(self, name): 9 self.name2 = name 10 11 class Foo3(object): 12 def __init__(self, name): 13 self.name3 = name 14 obj1 = Foo1(‘zsq‘) 15 obj2 = Foo2(obj1) 16 obj3 = Foo3(obj2) 17 #使用obj3输出zsq;self.name3 == obj2 && obj2.name2 == obj1 --> self.name3.name2 == obj1 && obj1.name1 == zsq --> self.name3.name2.name1 == ‘zsq‘ 18 obj3.name3.name2.get_name()
类的多级继承访问关系
1 class Foo4(object): 2 def __init__(self): 3 print(‘Foo4‘) 4 def a1(self): 5 print("Foo4a1") 6 def a2(self): 7 print("Foo4a2") 8 class Foo5(Foo4): 9 def __init__(self): 10 print(‘Foo5‘) 11 def a1(self): 12 self.a2() 13 print("Foo5a1") 14 def a2(self): 15 print("Foo5a2") 16 class Foo6(Foo5): 17 def __init__(self): 18 print(‘Foo6‘) 19 def a2(self): 20 print("Foo6a2") 21 obj6 = Foo6() #Foo构造函数输出 Foo6 22 obj6.a1() 23 #Foo6a2 Foo5a1;Foo6.a1继承自Foo5,Foo5.a1第一步调用self.a2;此时self为obj6是Foo6的对象,首先在Foo6中查找a2方法,输出Foo6a2 24 #继续向西执行Foo5.a1下一行的print语句输出Foo5a1
以上是关于类的组合 多继承调用示例的主要内容,如果未能解决你的问题,请参考以下文章