考虑以下类图:
+--------+ * +------------+
| Person |------>| Property |
+--------+ +------------+
^
|
+--------+------+
| |
+----+----+ +------+-----+
| Car | | House |
+---------+ +------------+
Run Code Online (Sandbox Code Playgroud)
人有许多属性,包括汽车,房子,智能手机等.每个属性都有不同的属性(汽车有引擎大小,型号,年份......房子作为地址,大小等).有许多子类(属性类型).
现在,我的实现是将Property作为带有类型字段的抽象类.我检查类型并将其转换为正确的子类.
我的问题是:这是唯一的方法吗?这是正确的方法吗?它感觉不对,所以请与我分享你的设计思路.也将接受彻底改变.