Java小案例:台灯类Lamp,有开关on这个方法...

Java实现:台灯类Lamp测试

    • 1. 简介描述
    • 2. 题目描述
    • 3. 代码实现‘
    • 4. 最后的总结

1. 简介描述

最近发现很多大学测试都喜欢测试一些java小案例,今天给大家分享的是关于:继承extends和实现implements的问题,这个案例是以台灯类Lamp为案例说明的。

2. 题目描述

下面就是一些题目描述了:

设计一个台灯类Lamp其中台灯,有开灯(on)这个方法,设计一个灯泡类 其中有红灯泡(RedBuble) 和绿灯泡(GreenBuble) 他们都有一个发亮的方法, 请设计出一段代码可以使台灯开启

3. 代码实现‘

对于下边的一些类和方法啊,大家可以直接copy就欧克。亲测有效!

  1. Lamp类
public class Lamp {
    private Bulb bulb;//灯泡

    public Bulb getBulb() {
        return bulb;
    }

    public void setBulb(Bulb bulb) {
        this.bulb = bulb;
    }

    /**
     * 通过父类Bulb调用子类重写父类的方法
     * @param bulb
     */
    public void on(Bulb bulb){
        if(bulb instanceof RedBulb){
            String r=bulb.bright();
            System.out.println("打开台灯"+r);
        }else if(bulb instanceof GreenBulb){
            String g=bulb.bright();
            System.out.println("打开台灯"+g);
        }

    }
}

  1. Bulb接口
public interface Bulb {

    public abstract String bright();
    
}
  1. RedBulb 类
    这里的RedBulb 是实现了上边的Bulb接口
public class RedBulb implements Bulb{

    /**
     * @return
     */
    @Override
    public String bright() {
        return "红灯泡发亮";
    }
}
  1. GreenBulb 类
    这里的GreenBulb 是实现了上边的Bulb接口
public class GreenBulb implements Bulb {

    @Override
    public String bright() {
        return "绿灯泡发亮";
    }
}
  1. BulbTest 类
    这里是测试类,对于题目要求的一个实现,上边都是一些要实现下边测试用的一些原材料类和接口
public class BulbTest {
    public static void main(String[] args){

        Lamp lamp=new Lamp();

        //父类引用指向子类对象

        Bulb red=new RedBulb();

        Bulb green=new GreenBulb();

        lamp.on(green);
        lamp.on(red);

    }
}

4. 最后的总结

其实,这个java的小案例,主要是在考察:继承extends和实现implements多态
这里的继承实现主要表现在对于接口类和实现关系上,而多态主要体现的测试类中使用Bulb接口。
下面让我们看一下运行的结果:
Java小案例:台灯类Lamp,有开关on这个方法..._第1张图片

你可能感兴趣的:(Java小案例,java,开发语言)