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

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接口。
下面让我们看一下运行的结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46213083/article/details/125184952