055 2.1.1对象的识别
如何识别对象
每个对象是个数字
可以将时钟看做是两个两位数
提供加一服务
设计一个类来表达这种两位数的计时器
然后用这一个类来构造两个对象
一个表达时一个表达分钟
这两个对象之间又有交互
我们有一个display
这个display里面有两个东西
分别是value、limit
能够被递增一个值increase、getvalue
display只是表达这个钟的一个小部件
package clock;
public class Display {
private int value=0;
private int limit=0;
// limit其实就是最大阈值24小时,到了这个时间就归零
// value其实是现在的时间点
//养成良好习惯每次赋予初值
public Display(int limit){
this.limit=limit;
}
//这个Display函数的意义在于赋值
public void increase(){
value++;
if(value==limit){
value=0;
}
}
//这个函数意义在于value++到limit值后归零
public int getValue(){
return value;
}
//拿到value的当前值
public static void main(String[] args) {
Display d =new Display(24);
for(;;){
d.increase();
System.out.println(d.getValue());
}
}
}
联动时针和分针
package clock;
//做一个新的类clock
public class Clock {
// 先给出两个对象hour和minute
private Display hour=new Display(24);
//用Display这个类来定义新的对象
private Display minute=new Display(60);
//这是一个新的操作函数
public void start(){
while(true){
//调用increase函数
minute.increase();
if(minute.getValue()==0){
hour.increase();
}
System.out.printf("%02d:%02d\n",hour.getValue(),minute.getValue());
}
}
public static void main(String[] args) {
Clock clock=new Clock();
clock.start();
}
}
好像也不是很难,可以渐渐自圆其说的看代码