用java实现抽象类门Door,能进行开门(openDoor)关门(closeDoor)操作,有防盗,防水,防火,防锈,防弹功能
1.背景
前两天老师布置了这个作业,自己正好趁着这次机会,把已经学过的java知识:继承,重写,抽象,接口,上转型对象,异常类以及Class类等整合一下。
2.题目
做一个门类Door,该门能进行开门openDoor与关门closeDoor操作。门再分各种功能,有防盗的,防水的,防火的,防锈的,防弹的。试使用java语言解决此问题。
3.分析
很显然,类Door可以抽象出来,其具有抽象行为openDoor和closeDoor。至于门的各种功能可以做成功能接口,根据题意可以写5个接口:防盗TheftProof,防水WaterProof,防火FireProof,防锈RustProof,防弹BulletProof。抽象的类Door,可以根据现实派生出四种档次的门:初级档次门(防盗),中级档次门(防盗,防水,防火),高级档次门(防盗,防水,防火,防锈),特级档次门(防盗,防水,防火,防锈,防盗)。分析已经完成,接下类就用代码实现它吧
4.具体代码(附注释)
(1)
package Five;
/**
* @author Kun Sun
* @date 2013.10.19
*/
public abstract class Door { // 抽象类Door门,应具有开关门功能
public abstract void openDoor(); // 开门
public abstract void closeDoor(); // 关门
}
(2)
package Five;
/**
* @author Kun Sun
* @date 2013.10.19
*/
public interface TheftProof { // 防盗功能接口
public String showTheftProof(); // 显示防盗功能
}