理解Java对象的交互:时钟显示程序

时间:2022-08-19 13:38:44

实现:

理解Java对象的交互:时钟显示程序

结构:

对象:时钟  - 对象:小时

                - 对象:分钟

  • 小时和分钟具有相同属性(值,上限),可以用一个类Display来定义这两个对象;
  • 但是两者之间又具有联系(当分钟达到上限时,小时要加1),但两者同属于一个类里,不能产生直接联系,这时我们用另外一个类Clock来对它们进行管理;
  • 首先用Clock类来定义一个clock的对象,用它来管理两个Display类型的对象,也即是clock的成员变量(min,hour),来管理它们之间的关系,再做显示;
  • 总结:一个对象里有两个对象,或者 用一个对象来管理其他两个对象之间的关系。

package clock:

  • >>class Dispaly
  • >>class Clock
 package clock;

 public class Display {
int value = 0;
int limit = 0; Display(int limit) {
this.limit = limit;
} void increase() {
++ value;
if(value == limit){
value = 0;
}
} int getvalue() {
return value;
} public static void main(String[] args) { //test
Display min = new Display(60);
for(;;) {
min.increase();
System.out.println(min.getvalue());
}
} }

Display.java

 package clock;

 public class Clock {
Display min = new Display(60);
Display hour = new Display(24); void start() {
min.increase();
if(min.getvalue()==0) {
hour.increase();
}
} public static void main(String[] args) {
Clock clock = new Clock();
for(;;) {
clock.start();
System.out.printf("%02d:%02d\n",clock.hour.getvalue(),clock.min.getvalue());
}
} }

Clock.java