设计一个开关控制系统
package kaiguan;
public interface ISwitch {
public void Turnon();
public void Turnoff();
}
package kaiguan;
public class ToggleSwitch {
ISwitch is;
public ToggleSwitch(ISwitch is) {
this.is = is;
}
public void open()
{
is.Turnon();
}
public void close()
{is.Turnoff();
}
}
package kaiguan;
public abstract class Light implements ISwitch {
public abstract void Turnon();
public abstract void Turnoff() ;
}
package kaiguan;
public class BulbLight extends Light {
@Override
public void Turnon() {
System.out.println("打开灯泡");
}
@Override
public void Turnoff() {
System.out.println("关闭灯泡");
}
}
package kaiguan;
public class TubeLight extends Light {
@Override
public void Turnon() {
System.out.println("打开灯管");
}
@Override
public void Turnoff() {
System.out.println("关闭灯管");
}
}
package kaiguan;
public class Main {
public static void main(String args[])
{BulbLight bl=new BulbLight();
ToggleSwitch ts=new ToggleSwitch(bl);
ts.open();
ts.close();
TubeLight tl=new TubeLight();
ts=new ToggleSwitch(tl);
ts.open();
ts.close();
}
}