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

类的继承---多重继承(两个父类有相同方法名和参数)

时间:2014-07-10 00:38:31      阅读:367      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   cti   io   c++   

 1 # -*-coding:gb2312-*-
 2 
 3 #Function:测试一下多继承
 4 
 5 class A:
 6     
 7     def F1(self):
 8         print 调用A.F1()
 9     
10     def F2(self):
11         print 调用A.F2()
12         self.F1()
13         
14     def F3(self):
15         print 调用A.F3()
16         self.F1()
17         
18 
19 class B:
20     
21     def F2(self):
22         print 调用B.F2()
23         
24     def F3(self):
25         print 调用B.F3()
26         
27 class C(A, B):
28     
29     def F4(self):
30         print C.F4
31         self.F2()
32         self.F3()
33         
34 c = C()
35 c.F4()

该段程序的含义:
定义类A(包括方法F1、F2、F3,F2和F3分别调用F1),定义类B(包括方法F2、F3)

定义类C(继承自类A和类B),定义方法F4,调用继承的方法F2和F3

运行结果如下:

C.F4
调用A.F2()
调用A.F1()
调用A.F3()
调用A.F1()

 

第二步:

替换定义类C的继承顺序,即定义如下,其他不变:

class C(B,A):

之后再运行程序,运行结果如下:

C.F4
调用B.F2()
调用B.F3()

说明针对python这样的解释型语言不会预编译,运行时会先去找A的对应函数,如果找到就直接调用A的,否则就去找B的对应函数

而解释型语言(如C++)程序在编译阶段就会报错,不允许这样写

 

类的继承---多重继承(两个父类有相同方法名和参数),布布扣,bubuko.com

类的继承---多重继承(两个父类有相同方法名和参数)

标签:style   blog   color   cti   io   c++   

原文地址:http://www.cnblogs.com/keke-xiaoxiami/p/3812420.html

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