【发布时间】:2014-05-31 10:52:12
【问题描述】:
为了满足客户的要求,我遇到了一些问题。
我会尽量保持示例非常简单,只是给出问题的想法,并希望提出解决方案。
此时我们有一个类“Shape”,形状有一些特化,可以是正方形、三角形等。
到目前为止一切顺利,一切正常。
现在出于某种原因,我的客户想要将系统中已经存在的正方形更改为三角形,但保留所有数据的形状。
这可能吗?有什么解决方法吗?
【问题讨论】:
-
也许您只是将数据集处理为用户设置的新类的实例。
-
我认为您应该为:Circle、Triangle 和 Cube 定义单独的类,并使用一些通用属性,这样您就可以轻松创建新形状并填充通用属性。
-
你能给我们展示形状/正方形用法的例子吗?以便我们提出模式创意?
-
不,您不能在创建对象后更改它的类型。您可以创建具有相似属性的新对象。
-
我会创建一个辅助方法,它只从正方形实例中获取您需要的所有道具,并在三角形的构造函数中使用它