我正在开发一个面向对象的应用程序,它与下面的有限工作示例非常相似。我正在开办两个超级班。类A
和类B
。类A
定义变量var1
和var2
,并包含方法Add
、Multiply
、Power
。类B
定义变量var1
和var2
,并包含方法Subtract
、Divide
和Add
。你知道吗
类C
实例化类A
和类B
的实例。然后它定义了一个方法f1
,该方法使用来自A_obj
和B_obj
的具有不同名称的方法。注意,方法f2
使用的是来自A_obj
和B_obj
的方法Add
。方法具有相同的名称,但执行不同的计算。你知道吗
最后几行代码实例化了类C
的对象,然后使用这两个函数打印出结果。你知道吗
class A():
def __init__(self, var1, var2):
self.var1 = var1
self.var2 = var2
def Add(self):
result = self.var1 + self.var2
return result
def Multiply(self):
result = self.var1*self.var2
return result
def Power(self):
result = self.var1**self.var2
class B():
def __init__(self, var1, var2):
self.var1 = var1
self.var2 = var2
def Subtract(self):
result = self.var1-self.var2
return result
def Divide(self):
result = self.var1/self.var2
return result
def Add(self):
result = self.var1+self.var2+self.var1+self.var2
return result
class C():
def __init__(self, var1, var2, var3, var4):
self.A_obj = A(var1,var2)
self.B_obj = B(var3,var4)
def f1(self):
result = self.A_obj.Add()+self.B_obj.Subtract()
return result
def f2(self):
result = self.A_obj.Add()-self.B_obj.Add()
return result
C_obj = C(1, 2, 3,4)
print(C_obj.f1())
print(C_obj.f2())
我的问题是,我能用继承来实现这种功能吗?继承在这里使用是否合适?我尝试在previous question中强制使用它,但发现一旦在子类C
中使用继承变量,它就会变成“全局定义的”,并被超类A
和B
识别。我想确保类A
中的所有内容都保持本地到A
,类B
中的所有内容都保持本地到B
。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐