码迷,mamicode.com
首页 > 其他好文 > 详细

类的组合 多继承调用示例

时间:2020-01-28 21:32:14      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:调用   继承   关系   color   使用   多继承   print   方法   构造函数   

类的组合

 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

 

类的组合 多继承调用示例

标签:调用   继承   关系   color   使用   多继承   print   方法   构造函数   

原文地址:https://www.cnblogs.com/flags-blog/p/12238773.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!