你的位置:首页 > ASP.net教程

[ASP.net教程]理解Java对象的交互:时钟显示程序


实现:

 

结构:

对象:时钟  - 对象:小时

                - 对象:分钟

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

package clock:

  • >>class Dispaly
  • >>class Clock
 1 package clock; 2  3 public class Display { 4   int value = 0; 5   int limit = 0; 6    7   Display(int limit) { 8     this.limit = limit; 9   }10 11   void increase() {12     ++ value;13     if(value == limit){14     value = 0;15     }16   }17   18   int getvalue() {19     return value;20   }21   22   public static void main(String[] args) {      //test23     Display min = new Display(60);24     for(;;) {25       min.increase();26       System.out.println(min.getvalue());27     }28   }29   30 }

Display.java
 1 package clock; 2  3 public class Clock { 4   Display min = new Display(60); 5   Display hour = new Display(24); 6    7   void start() { 8     min.increase(); 9     if(min.getvalue()==0) {10       hour.increase();11     }12   }13   14   public static void main(String[] args) {15     Clock clock = new Clock();16     for(;;) {17       clock.start();18       System.out.printf("%02d:%02d\n",clock.hour.getvalue(),clock.min.getvalue());19     }20   }21 22 }

Clock.java