【发布时间】:2021-01-14 05:25:53
【问题描述】:
考虑以下代码:
class iterative_solver:
def stop_condition(self):
#To be specified in the child classes
def solver(self):
while stop_condition: #Error
print("In the cycle")
class specific_solver(iterative_solver):
def stop_condition(self,num):
return num>0
当我定义方法stop_condition时,我还不知道它可能需要什么参数,我将方法的具体实现留在子类specific_solver中。
如何在父类中使用在子类中指定的方法,但我还不知道其参数?
【问题讨论】:
-
solver方法应该如何工作?里面没有任何东西可以改变条件的结果。 -
您需要为
stop_condition()定义一个接口并在solver()方法中使用它。可以通过使用可变长度*args和 *kwargs` 参数使其相当通用。 -
您是否有与已经给出的答案不同的特定方法?我正在学习Python和OOP编程,所以我一点经验都没有
-
也许你想要做的一个更实际的例子会产生其他答案。目前,您的问题很抽象。
标签: python inheritance polymorphism