继承多态灯泡发光问题

来源:互联网 发布:新浪网络运营文职岗 编辑:程序博客网 时间:2024/05/16 13:20
设计一个台灯类(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();    }}
0 0