Python Class之间函数的调用关系

来源:互联网 发布:信号屏蔽软件下载 编辑:程序博客网 时间:2024/05/20 04:09

假设有Class  A 和 Class B两个类,Class A中定义了a(),Class B中定义了b().

现在我想在Class B中调用 Class A中的函数a()。此处介绍三种调用方法:


方法一:

在Class B中所定义的fuction()中声明Class A的对象a,然后用对象a来调用Class A的函数a().

最后在main中声明Class B的对象b,让b调用该类中的fuction().

#!/usr/bin/env python# -*- coding: utf-8 -*-class A():def __init__(self,parent):self.parent = parentdef a(self):print 'Class A'class  B():def fuction(self):a = A(None)a.a()if __name__ == '__main__':b = B()b.fuction()


方法二:

在Class B的__init__()中将Class A和Class B产生关联,具体方法如下code。

首先在main中声明Class A的对象a,然后将对象a传入到Class B的__init__(self,object)中,这样self.object就指向Class A。
就可以调用Class A中的函数了。

#!/usr/bin/env python# -*- coding: utf-8 -*-class A():def __init__(self,parent):self.parent = parentdef a(self):print "Class A"class B(object):def __init__(self,object):self.object = objectself.object.a()def b(self):print "Class B"if __name__ == '__main__':   a = A(None)   b = B(a)   b.b()



方法三: 

直接在Class B中声明Class A的对象,该对象是Class B的self.A_object。

#!/usr/bin/env python# -*- coding: utf-8 -*-class A():def a(self):print "Class A"class B(object):def __init__(self):self.A_object = A()self.A_object.a()def b(self):print "Class B"if __name__ == '__main__':   b = B()   b.b()



0 0
原创粉丝点击