计时器继承实现
时间: 2023-07-31 17:05:20 浏览: 43
好的,以下是一个简单的计时器类的继承实现示例:
```java
public class Timer {
private int seconds;
public Timer(int seconds) {
this.seconds = seconds;
}
public int getSeconds() {
return seconds;
}
public void setSeconds(int seconds) {
this.seconds = seconds;
}
public void tick() {
if (seconds > 0) {
seconds--;
}
}
public boolean isFinished() {
return seconds == 0;
}
}
public class SharedTimer extends Timer {
private Timer otherTimer;
public SharedTimer(int seconds, Timer otherTimer) {
super(seconds);
this.otherTimer = otherTimer;
}
public void tick() {
super.tick();
if (otherTimer.getSeconds() > 0) {
otherTimer.setSeconds(getSeconds());
}
}
}
```
在这个例子中,我们定义了一个简单的计时器类`Timer`,它包含一个`seconds`属性表示剩余秒数,以及`getSeconds`、`setSeconds`、`tick`和`isFinished`方法。其中,`tick`方法每次将`seconds`减1,`isFinished`方法判断计时器是否结束。
我们还定义了一个继承自`Timer`的子类`SharedTimer`,它包含一个`otherTimer`属性表示与之共享计时时间的另一个计时器。在`SharedTimer`的`tick`方法中,我们先调用父类`Timer`的`tick`方法,然后判断另一个计时器`otherTimer`是否还有剩余时间,如果有,就将自己的剩余时间传递给另一个计时器。
这样,我们就可以通过继承和重载来实现计时器的共享功能。当我们创建一个`SharedTimer`对象时,可以将另一个计时器作为参数传入,这样两个计时器就可以共享同一个计时时间了。在每次调用`SharedTimer`的`tick`方法时,它会先更新自己的剩余时间,然后将自己的剩余时间传递给另一个计时器。这样,两个计时器就可以保持同步了。