我开发了一个通用Environment
类,它在Agent
文件中使用通用generic.py
类。
现在,我想在SpecificEnvironment
文件中创建使用SpecificAgent
的{{1}}。
到目前为止,我必须使用以下内容指定(具体)specific.py
:
Environment
如何让from generic import Environment
class SpecificEnvironment(Environment):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
使用SpecificEnvironment
子类而不是SpecificAgent
?
随意提出一些阅读材料,以便我可以自学。 我对面向对象编程比较陌生。
答案 0 :(得分:1)
您可以使用class属性来指示要使用的Agent
子类。
class Environment:
EnvironmentAgent = Agent
...
然后,您需要在类方法中用Agent
或Environment
替换self.EnvironmentAgent
中cls.EnvironmentAgent
的每个出现次数。这样,如果为子类提供了不同的EnvironmentAgent
属性,则会使用它。
class SpecificEnvironment(Environment):
EnvironmentAgent = SpecificAgent
...