假设有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 = parent
def 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 = parent
def a(self):
print "Class A"
class B(object):
def __init__(self,object):
self.object = object
self.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()