设计一个台灯类(Lamp)其中台灯有灯泡类(Buble)这个属性,还有开灯(on)这个方法。设计一个灯泡类(Buble),灯泡类有发亮的方法,其中有红灯泡类(RedBuble)和绿灯泡类(GreenBuble)他们都继承灯泡类(Buble)一个发亮的方法,请设计出一段代码可以使台灯开启灯泡发亮,并且保证替换不同种类的灯泡,台灯类代码不被修改。
package poly;
public class Buble {
public void light(){
}
}
package poly;
public class Lamp {
public Buble buble;
public void on(){
buble.light();
}
}
package poly;
public class GreenBlue extends Buble {
@Override
public void light() {
System.out.println("发绿光");
}
}
package poly;
public class RedBuble extends Buble {
@Override
public void light() {
System.out.println("发红光");
}
}
package poly
public class Test {
public static void main(String[] args) {
Buble red=new RedBuble()
Buble green=new GreenBlue()
Lamp l=new Lamp()
l.buble=red
// l.buble=green
l.on()
}
}