[英]How to refer from child class to child class of another class
我知道问题的标题非常令人困惑。 我无法想出任何有意义的事情。 让我解释一下。
我有两个课程,我们称他们为A和B:
class A(object):
def get_instance_of_b():
return B()
class B(object):
pass
在其中我有一个引用B类实例的方法。
我有4个继承自A的类和另外4个继承自B类的类。现在我想要的是避免重写get_instance_of_b()方法。 A1类(A的孩子)应该得到B1的实例(B的孩子),依此类推。
最好的方法是什么? 或者我的课程结构可能出错?
给出我的类所做的上下文:类A处理数据,类B验证输入参数。 A类的所有孩子都有一些一般参数,但是儿童班也有自己的特定参数。
你应该有一个A
类(你的“处理器”)到你的B
类(你的“验证器”)的显式映射,并以这种方式进行查找。
class A(object):
def get_validator(self):
return validators[self.__class__]()
class A1(A):
...
class B(object):
...
class B1(B):
...
validators = {A:B, A1:B1}
并使用如下:
>>> a1 = A1()
>>> a1.get_validator()
<__main__.B1 object at ...>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.