0

我的开源工具包中的对象都是基于类 AbstractObject 的。我想在 AbstractObject 中添加一个函数,它将创建并返回完全相同的类的对象。

这与克隆不同,因为不会复制属性值。我考虑过调用它,duplicate但在使用 ActiveRecord 类时会感到困惑(因为副本将用于复制记录,而不是对象)。

form2 = form1->createObjectWithSameClass()

请为此建议一个单字(最好)名称。我很感激你的时间!

4

1 回答 1

2

根据此处的信息,这听起来像是您想要另一个与范围内的变量相同类型的普通对象,并且该类型是创建对象时唯一需要的上下文。

在这种情况下,这听起来像是工厂的有效案例,而不是挂在实例上的方法。你可以这样做,也许:

myFactory.create(form1)

或者

myFactory.create(form1.getClass())

编辑:这不是您问题的直接答案,而是因为您关心命名,因此我假设代码清晰,模式的一大好处是清晰(每个人都知道工厂是什么,所以他们赢了不要被你最终选择的任何名字所迷惑)。

于 2012-04-13T12:17:26.043 回答