zoukankan      html  css  js  c++  java
  • 理解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) {            //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
    ",clock.hour.getvalue(),clock.min.getvalue());
    19         }
    20     }
    21 
    22 }
    Clock.java
  • 相关阅读:
    21. Node.Js Buffer类(缓冲区)-(一)
    20.Node.js EventEmitter的方法和事件
    19.Node.js EventEmitter
    18.Node.js 事件循环
    17.Node.js 回调函数--异步编程
    16.REPL 命令
    15.Node.js REPL(交互式解释器)
    14.NPM 常用命令
    **PHP Notice: Undefined index:...问题的解决方法
    **CI中的order_by在get_where之前
  • 原文地址:https://www.cnblogs.com/xingyazhao/p/5930261.html
Copyright © 2011-2022 走看看