简易预习流程:先看预习课件,认真完成里面的习题。然后根据需要观看视频。最后尝试完成课前问题列表。
以预习课件(两份)为主,建议在电脑前尝试运行课件中的代码。具体任务如下:
- 运行预习课件"GUI-1"中的登录框界面,并尝试在"用户名"对应的文本框(
JTextField
)中,输入自己的昵称。并截图上传。
-
查看
https://www.cnblogs.com/zhrb/p/8978560.html
中的
GuessGame
代码。完成如下任务:- 将Guess游戏改为图形界面。即,编写一个
GUIGame
继承GuessGame
,但里面对输入输出的处理采用对话框。 - 以
GuessGame
的两种版本(控制台、图形界面)为例,简述这里使用抽象类的好处。 - 图形界面对话框参考资料: https://www.cnblogs.com/jiangxiulian/p/5961990.html
- 将Guess游戏改为图形界面。即,编写一个
不大会写这部分代码,只写了部分接口
public class GUIGame extends GuessGame {
public void go() {
int number = (int) (Math.random() * 10);
int guess;
int res;
while (true) {
String inputValue = JOptionPane.showInputDialog("请输入您猜的数字");
guess = Integer.valueOf(inputValue);
if (guess == number) {
res = JOptionPane.showConfirmDialog(null, "正确!,是否继续", "选择", JOptionPane.YES_NO_OPTION);
if (res == JOptionPane.YES_OPTION) {
continue;
} else
break;
} else {
res = JOptionPane.showConfirmDialog(null, "猜错啦!,是否继续", "选择", JOptionPane.YES_NO_OPTION);
if (res == JOptionPane.YES_OPTION) {
continue;
} else
break;
}
}
JOptionPane.showConfirmDialog(null, "结束啦", "结束啦", JOptionPane.YES_OPTION);
}
public void print(String text) {
}
public void println(String text) {
}
public int nextInt() {
return 0;
}
}
功能展示:
抽象类的好处:
1.通过对抽象类的方法进行重写能够较好的使我们的代码实现面向对象,这道题中我们就实现了面向 控制台和面向图形用户界面的两种形式。
2.隐藏实现细节,用户只需要观看抽象类的方法名就确定功能,不需要关心具体实现。
3.因为抽象类不能实例化对象,必须要有子类来实现它之后才能使用,把一些方法进行抽象,这样更有利于代码有和程序的维护。