我正在为我的api重写一个绘图处理程序。对于我的PaintManager类结构,这是不正确的OO练习还是没问题?我觉得这是正确的,但我想要一些第二意见。
忽略Background类中的高度和位置值。 :P
答案 0 :(得分:8)
答案 1 :(得分:0)
由于您有PaintManager
,我假设您将有很多实现Paintable
的类。尽量让你的课程尽可能通用,以避免写太多课程。
例如,如果您创建了class Square extends Paintable
,则代码中的差异将是最小的。
public class Square extends Paintable {
// the x position
private int x;
// the y position
private int y;
// the width
private int w;
// the height
private int h;
// the color
private Color color;
public Square(int x, int y, int w, int h, Color color) {
this.x = x;
this.y = y;
this.w = w;
this.h = h;
this.color = color;
}
// draw method
public void draw(Graphics g) {
g.setColor(color.getCOLOR());
g.drawRect(x, y, w, h);
g.fillRect(x, y, w, h);
}
}
背景可以是更一般的类的对象。