我正在研究2D几何游戏,其中我有一个基本抽象类Figure
,其中不同的实现继承了它(例如CircleFigure
,PolygonalFigure
)。我需要一个抽象方法Figure
来检查这两个数字是否相交,让它的签名为public abstract boolean collision(Figure that)
。多个类匹配
问题是每一对类型的数字都需要这种方法的不同实现;即对于两个圆圈,我会检查两个半径的总和小于圆心的距离。但是对于一个圆和一个多边形,我会用一种完全不同的方法。
我所知道的编程模式和OOP概念,如多态性这是appliable当我们需要参数化的方法,根据该子类执行它,但我怎么能根据这些参数化的类对叫它?