继承练习_管状灯

问题描述

(1)编写1个Light类,该类是对灯的描述,该类拥有:
1)2个成员变量
     watts(私有,整型);//用于存放灯的瓦数;
     indicator(私有,布尔类型);//用于存放灯的开或关的状态
    2) 2个构造器方法
     Light(int watts) //用于创建具有watts瓦的对象
     Light(int watts,boolean indicator) //用于创建具有watts瓦,开关状态为indicator的对象
3) 3个成员方法
     public void switchOn()   //开灯,即将灯的状态置为开
     public void switchOff()  //关灯
     public void printInfo()  //输出灯的瓦数信息和开关状态

(2)编写1个TubeLight类,该类是对管状灯的描述,它继承于Light类。还拥有:
1) 2个成员变量
     tubeLength(私有,整型)  //用于存放灯管的长度
     color(私有,String类型)  //用于存放灯光的颜色
    2) 构造器方法
     TubeLight(int watts, int tubeLength,String color)  //用于创建具有watts瓦,灯管长度为tugeLength,颜色为color的对象
    3)成员方法
     public void printInfo()  //打印输出灯的相关信息,包括瓦数、开关信息、长度以及颜色

(3)请写一个测试程序,要求:
1)创建一个管状灯的实例对象,
2)打印输出该灯的相关信息。

输出结果如下:

该灯瓦数为:32;状态为开;长度为50;白色灯光。

参考代码

注意:复制粘贴题干内容时,需要把中文符号改成英文

以下为Light类:

public class Light {
    private int watts;
    private boolean indicator;

    public Light(int watts) {
        this.watts = watts;
    }

    public Light(int watts, boolean indicator) {
        this.watts = watts;
        this.indicator = indicator;
    }

    public void switchOn() {
        this.indicator = true;
    }

    public void switchOff() {
        this.indicator = false;
    }

    public void printInfo() {
        String tmp = indicator ? "开" : "关";
        System.out.printf("该灯瓦数为: %d; 状态为%s; ", watts, tmp);
    }
}

以下为TubeLight类:

public class TubeLight extends Light {

    private int tubeLength;
    private String color;

    public TubeLight(int watts, int tubeLength, String color) {
        super(watts);
        this.tubeLength = tubeLength;
        this.color = color;
    }

    public void printInfo() {
        super.printInfo();
        System.out.printf("长度为%d; %s灯光", tubeLength, color);
    }
}

以下为测试类:

public class Main {

    public static void main(String[] args) {
        TubeLight light = new TubeLight(32, 50, "白色");
        light.switchOn();
        light.printInfo();
        // => 该灯瓦数为: 32; 状态为开; 长度为50; 白色灯光
    }
}

 

posted @ 2024-12-09 10:35  xkfx  阅读(92)  评论(0编辑  收藏  举报