将Java程序转换为面向对象格式(Basic)
我是一名Java程序员初学者,已经为此付出了相当长的时间。我需要将下面的程序转换成OOP格式,并且不能让它无误地编译。我想我会发布正在运行的非格式化程序,而不是失败的、断断续续的尝试。如果有人能将下面的程序转换成OOP,我们将不胜感激。请原谅任何低效或草率,因为我是新手 谢谢你的帮助将Java程序转换为面向对象格式(Basic),java,oop,Java,Oop,我是一名Java程序员初学者,已经为此付出了相当长的时间。我需要将下面的程序转换成OOP格式,并且不能让它无误地编译。我想我会发布正在运行的非格式化程序,而不是失败的、断断续续的尝试。如果有人能将下面的程序转换成OOP,我们将不胜感激。请原谅任何低效或草率,因为我是新手 谢谢你的帮助 import java.awt.*; public class Turtle3 { public static void drawLine(Turtle myrtle, Color color, int x
import java.awt.*;
public class Turtle3 {
public static void drawLine(Turtle myrtle, Color color, int x1, int y1, int x2, int y2) {
myrtle.hide();
myrtle.penUp();
myrtle.setPenColor(color);
myrtle.moveTo(x1, y1);
myrtle.penDown();
myrtle.moveTo(x2, y2);
}
public static void setPenWidth(int w) {
World worldObj = new World();
Turtle myrtle = new Turtle(200, 200, worldObj);
Turtle billy = new Turtle(100, 700, worldObj);
Turtle thomas = new Turtle(100, 100, worldObj);
myrtle.setColor(Color.RED);
myrtle.setPenWidth(50);
myrtle.forward(50);
myrtle.show();
billy.setColor(Color.BLUE);
billy.setPenWidth(100);
billy.forward(300);
thomas.show();
thomas.setColor(Color.BLACK);
thomas.setPenWidth(100);
thomas.forward(50);
thomas.show();
};
public static void main(String[] args) {
World worldObj = new World();
Turtle myrtleTheTurtle = new Turtle(0, 0, worldObj);
drawLine(myrtleTheTurtle, Color.RED, 10, 20, 700, 20);
drawLine(myrtleTheTurtle, Color.BLUE, 10, 40, 700, 40);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 60, 700, 60);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 80, 700, 80);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 100, 700, 100);
drawLine(myrtleTheTurtle, Color.RED, 10, 120, 700, 120);
drawLine(myrtleTheTurtle, Color.BLUE, 10, 140, 700, 140);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 160, 700, 160);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 180, 700, 180);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 200, 700, 200);
drawLine(myrtleTheTurtle, Color.RED, 10, 220, 700, 220);
drawLine(myrtleTheTurtle, Color.BLUE, 10, 240, 700, 240);
drawLine(myrtleTheTurtle, Color.RED, 10, 260, 700, 260);
drawLine(myrtleTheTurtle, Color.BLUE, 10, 280, 700, 280);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 300, 700, 300);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 320, 700, 320);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 340, 700, 340);
drawLine(myrtleTheTurtle, Color.RED, 10, 360, 700, 360);
drawLine(myrtleTheTurtle, Color.BLUE, 10, 380, 700, 380);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 400, 700, 400);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 420, 700, 420);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 440, 700, 440);
drawLine(myrtleTheTurtle, Color.BLUE, 10, 460, 700, 460);
drawLine(myrtleTheTurtle, Color.BLACK, 10, 480, 700, 480);
drawLine(myrtleTheTurtle, Color.BLACK, 480, 10, 480, 700);
drawLine(myrtleTheTurtle, Color.BLACK, 180, 10, 180, 700);
drawLine(myrtleTheTurtle, Color.BLACK, 480, 10, 480, 700);
drawLine(myrtleTheTurtle, Color.BLACK, 330, 10, 330, 700);
setPenWidth(50);
}//end of main method
}//end of class
我不太清楚你在问什么。您已经在
setPenWidth()
方法中使用OOP。如果您想在程序中使用更多OOP,可能需要将方法drawLine()
移动到Turtle
类,并将其更改为
public void drawLine(Color color, int x1, int y1, int x2, int y2)
{
this.hide();
this.penUp();
this.setPenColor(color);
this.moveTo(x1, y1);
this.penDown();
this.moveTo(x2, y2);
}
它引用
Turtle
的当前实例,无需将其作为参数传递。注意:您必须删除static关键字才能使其工作。然后,您必须更改main方法中的代码,通过将调用从drawLine(myrtleTheTurtle,color,x1,y1,x2,y2)更改为drawLine()
tomyrtleTheTurtle.drawLine(颜色,x1,y1,x2,y2)
我不确定您所说的“想将您的方法drawLine()移动到Turtle类”是什么意思因为它已经和其他东西一起在那个类中了。找不到符号-方法隐藏这是我在用你的指令运行程序时遇到的错误。你所有的东西都在Turtle3类中。我想把它移到“海龟”类,它定义了海龟的类型,比如桃金娘、比利和托马斯