小编wol*_*ats的帖子

设计问题:拥有一个包含许多不同子类的类

考虑以下类图:

+--------+     * +------------+ 
| Person |------>|   Property |
+--------+       +------------+
                      ^
                      |
             +--------+------+
             |               |
      +----+----+     +------+-----+
      |   Car   |     |   House    |
      +---------+     +------------+
Run Code Online (Sandbox Code Playgroud)

人有许多属性,包括汽车,房子,智能手机等.每个属性都有不同的属性(汽车有引擎大小,型号,年份......房子作为地址,大小等).有许多子类(属性类型).

现在,我的实现是将Property作为带有类型字段的抽象类.我检查类型并将其转换为正确的子类.

我的问题是:这是唯一的方法吗?这是正确的方法吗?它感觉不对,所以请与我分享你的设计思路.也将接受彻底改变.

design-patterns class-design class-diagram

2
推荐指数
1
解决办法
109
查看次数