【发布时间】:2014-09-25 08:18:09
【问题描述】:
返回子类实例作为父类实例方法的输出是不好的做法,如果是,为什么?
例如,可以如下--
class Parent(object):
def __init__(self, attr):
self.attr = attr
def child(self, typ):
if typ == 'a':
return ChildA(self.attr)
else:
return ChildB(self.attr)
class ChildA(Parent):
pass
class ChildB(Parent):
pass
做一个好的设计?
【问题讨论】:
-
这不是见仁见智吗?我们不知道对 Stack Overflow 有意见。
-
我在想关于软件设计的“什么是好的实践”的问题是可以接受的。在 SO 中搜索“良好实践”,您会发现很多高票的问题,即使并不总是很清楚是否有明确的答案。
-
其中大部分来自“旧的” Stack Overflow,大多数(应该)已经关闭。