【发布时间】:2010-09-28 12:02:13
【问题描述】:
我有一个看起来像这样的对象树
Ball
/ \
LegalBall IllegalBall
我有两种方法:
class o {
AddBall(LegalBall l)
AddBall(IllegalBall i)
}
在另一堂课中,我想做以下事情:
o.AddBall(myBall);
myBall 是 Ball 类型。 并让它根据子类型调用正确的方法。 显然我不能这样做......这些论点不适用。
有人知道我怎样才能实现我想要的吗?或者如果有一个很好的解决方法
谢谢
编辑:我正在尝试构建的应用程序是板球记分卡类型的东西。因此,根据所投球的类型,其他各种元素都应该改变。
我的初衷是能够从某种形式的 UI 中指定球的类型和得分,然后从 BallFactory 创建一个适当类型的球,然后例如当我向球队得分发送一个无球时,它会添加将值添加到球队得分上,但也将值添加到无球计数器。但是当我将同一个球交给击球手分析来处理它时,击球手总得分应该只有 1 分。
我希望这对我的初衷的解释不会太糟糕。
【问题讨论】:
标签: java inheritance methods polymorphism overloading