管状灯Java

(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)打印输出该灯的相关信息。

效果:

代码:

class Light {
    private int watts;
    private boolean indicator;

    // 构造器方法,用于创建具有watts瓦的对象
    public Light(int watts) {
        this.watts = watts;
        this.indicator = false;
    }

    // 构造器方法,用于创建具有watts瓦,开关状态为indicator的对象
    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() {
        System.out.println("该灯瓦数为:" + watts + ";状态为" + (indicator? "开" : "关"));
    }
}
// TubeLight类,对管状灯的描述,继承自Light类
class TubeLight extends Light {
    private int tubeLength;
    private String color;

    // 构造器方法,用于创建具有watts瓦,灯管长度为tubeLength,颜色为color的对象
    public TubeLight(int watts, int tubeLength, String color) {
        super(watts);
        this.tubeLength = tubeLength;
        this.color = color;
    }

    // 重写printInfo方法,打印输出灯的相关信息,包括瓦数、开关信息、长度以及颜色
    public void printInfo() {
        System.out.println("该灯瓦数为:" + getWatts() + ";状态为" + (isIndicator()? "开" : "关") + ";长度为" + tubeLength + ";" + color + "灯光。");
    }

    public int getTubeLength() {
        return tubeLength;
    }

    public String getColor() {
        return color;
    }

    public int getWatts() {
        return super.watts;
    }

    public boolean isIndicator() {
        return super.indicator;
    }
}
// 测试程序
public class TestTubeLight {
    public static void main(String[] args) {
        TubeLight tubeLight = new TubeLight(32, 50, "白色");
        tubeLight.switchOn();
        tubeLight.printInfo();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值