Java 如何使用正确的OOP实现这一点?
我扩展了一个JPanel,将其用作绘图画布 在Handler类(画布的处理程序)中,我有以下代码:-Java 如何使用正确的OOP实现这一点?,java,oop,Java,Oop,我扩展了一个JPanel,将其用作绘图画布 在Handler类(画布的处理程序)中,我有以下代码:- public void mouseDragged(MouseEvent e) { endingPoint = e.getPoint(); repaint(); } public void mousePressed(MouseEvent e) { startingPoint = e.getPoint();
public void mouseDragged(MouseEvent e)
{
endingPoint = e.getPoint();
repaint();
}
public void mousePressed(MouseEvent e)
{
startingPoint = e.getPoint();
}
在canvas类本身中,我有如下内容(MainFrame是一个扩展JFrame的类,其内部类为Handler):-
但是我在某个地方读到,我应该声明一个类的所有变量都是私有的,所有关于变量的工作都应该使用同一个类中的方法来完成。
但是我不能在这里这样做,我怎么能?在您的
大型机类中,您可以有一个方法getStartingPoint
,该方法返回startingPoint
的副本。对于paintingShape
变量也一样:用getPaintingShape
方法替换公共访问
本质上,每当有公共字段时,考虑用get /set方法和私有访问来替换它。它使您的代码在将来更易于维护
if (MainFrame.paintingShape.equalsIgnoreCase("line"))
{
g.drawLine(MainFrame.startingPoint.x, MainFrame.startingPoint.y, ..., ...);
}