以下问题是什么?如何使用OO原理更好地实现它?
我的应用程序包含一堆形状类,它们都继承自Shape
-Circle
,Rectangle
,Triangle
等。其中一些需要显示在屏幕上,在这种情况下,它们需要利用通用屏幕逻辑,因此有一个ScreenShape
超类,其中包含公共逻辑以及ScreenCircle
,ScreenTriangle
子类。
最佳答案
我建议创建一个Shape界面,以提供有关几何形状形状的基本蓝图,并且您所有的类都实现形状接口,并创建一个单独的类ScreenShape(或抽象类),所有类都将对其进行扩展并提供ScreenShape类中在屏幕上显示的方法。例如您的矩形类将像这样
class rectangle extends ScreenShape implements Shape
{
// provide implementation of Shape interace methods.
// over-ride ScreenShape methods
public void draw()
{
// actual logic of drawing the objects on screen
}
}