歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 理解Java對象的交互:時鐘顯示程序

理解Java對象的交互:時鐘顯示程序

日期:2017/3/1 9:10:39   编辑:Linux編程

實現:

結構:

對象:時鐘 - 對象:小時

- 對象:分鐘

  • 小時和分鐘具有相同屬性(值,上限),可以用一個類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) {            //test
23         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 }

Copyright © Linux教程網 All Rights Reserved