比如说,我们有一个超类Car
和两个子类Ford
,并且Porsche
. 现在图形用户界面应该显示正确的表示(例如汽车的名称)。getCarName()
我们可以为每个子类添加一个额外的方法。
但是现在,我们有另一个 GUI 想要通过其他属性来表示汽车,例如汽车名称加上生产国。然后我们必须添加另一个方法,依此类推。
一般来说,我想以一种很好的方式存储某种配置/属性。每次需要另一个表示时,不应更改原始数据结构(可能有很多子类)。所以我想创建一个 HashMap 将子类与其属性相关联,并将这个 HashMap 交给 GUI。
但是应该使用什么样的钥匙呢?HashMap<Car, String>
没有解决方案,因为我不想创建汽车对象只是为了存储表示。String 表示独立于实例。
也欢迎设计模式。