我对使用__init__
和继承有点困惑,希望能得到一些帮助。你知道吗
我有一个班级[不能改变]:
class A(object):
def __init__(self, param1 = 7, param2 = 10):
self.x = param1
self.y = param2
def func1(self):
op1()
op2()
def func2(self):
pass
这是一个编写的类,我在重载其函数时使用它:
class B(A):
def func1(self)
op3()
op4()
def func2(self)
op5()
我的问题从这里开始:我想多次使用B类,每次都发送不同的参数:
---new .py file: ---
def myFunction():
myInstance = B()
我想做一些类似的事情:
def myFunction():
myInstance = B(40,"test")
我想添加到B类-__init__
,但问题是现在我不确定它将使用什么self
:
说明:
在B类中,我重载了func2(self)
我想写:
class B(A):
def __init__(self, paramNumber, paramString)
self.paramNumber = paramNumber
self.paramString = paramString
但是现在在func2(self)
中,使用了什么self
?新的那个?旧的那个?行吗?
意思是我会有:self.x , self.y and self.paramNumber self.parmString ?
他们是不同的“自我”
编辑: 我也应该用super吗?你知道吗
class B(A):
def __init__(self, paramNumber, paramString,param1, param2)
self.paramNumber = paramNumber
self.paramString = paramString
super(B,self).__init__(param1,param2)
def myFunction():
myInstance = B(40,"test")
// I will get : self.x = 7
// self.y= 10
// self.paramNumber=40
//self.paramString = "test"
这是正确的解决方案吗?你知道吗
所以基本上您希望从子类中的父类运行
__init__
:相关问题 更多 >
编程相关推荐