将值映射到其子类之一

时间:2014-02-09 03:08:45

标签: data-structures language-agnostic

我有一个点和一个类,通过一些额外的行为来扩展这一点:

Point(x: Int, y: Int)
WeightedPoint(value: Double) extends Point

WeightedPoint使用与Point相同的哈希和等于方法。

我可以像Point -> WeightedPoint一样制作一个自己的点的地图,并使其自动执行p = WeightedPoint(1,2,324.0); map.put(p,p)。之后我可以执行map.get(Point(1,2))并获取WeightedPoint(1,2,324.0)我无法制作Point -> Double地图,因为WeightedPoint需要访问其xy坐标以及它的价值。

这种关系有名字吗?是否存在直接执行此操作的数据结构或模式?

0 个答案:

没有答案