关于Java对象的识别与对象间的交互

识别对象

如图,要用java实现一个HH:MM的时钟,提取出的对象是什么?

=>个人理解,选择一个java可实现的逻辑,把要操作的数据看作对象就可以了,比如这里 就是HH和MM这两个显示器,HH和MM表示显示器这个类的两个对象,而这两个对象组合(交互)又构成了新的对象——时钟Clock,这个组合对象属于一个新的类Clock。

0<=HH<24         0<=MM<60

代码实现1——ClassDisplay:

public class Display {
    private int value=0;
    private int limit=0;

    public Display(int limit){
        this.limit=limit;
    }

    public void increase(){
        value++;
        if(value==limit){
            value=0;
        }
    }

    public int getValue(){
        return value;
    }

    public static void main(String[] args){
        Display play1=new Display(24);
        //play1.increase();
        for(;;){
            play1.increase();
            System.out.println(play1.getValue());
        }//引用死循环,模拟时钟的hh一直动态循环

    }
}

返回结果:

代码实现2——ClassClock:即两个对象HH和MM的互动

public class Clock {
    private Display hour=new Display(24);//定义成员变量+创建对象hour并通过构造函数赋值24给limit
    private Display minute=new Display(59);//定义成员变量+创建对象minute并通过构造函数赋值59给limit

    public void run() {
        while (true) {//无限循环模拟时钟的无限动态循环run
            minute.increase();
            if (minute.getValue() == 0) {
                hour.increase();//if minute=0了,hour+1
            }
            System.out.printf("%02d:%02d\n", hour.getValue(), minute.getValue());//使用printf,"%02d:%02d\n"规范格式,后两个object取当前值
        }
    }
    public static void main(String[] args){
        Clock clock1=new Clock();//创建clock的对象
        clock1.run();
    }
}

返回结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值