: 1.电器类比父类 实验6-1 继导 一个电器销售公司想开发一套管理系统,该公司的主要业务是销售一些家用电器,例如:电冰箱、洗衣机、电视机产品。经调查,各种电器的属性如下: 冰箱类:品牌、型号、颜色、售价、、门款式、制冷方式。 洗衣机类:品牌、型号、颜色、售价、电机类型、洗涤容量。 电视类:品牌、型号、颜色、售价、屏幕尺寸、分辨率。不同的电器有不同的显示信息的方式。 要求:用封装、继承(包括this、super等)等知识点编程实现。
时间: 2023-07-03 21:11:17 浏览: 190
好的,这是一个关于电器类的继承和封装的编程实现问题。我们可以先定义一个父类ElectricalAppliance(电器类)来包含冰箱类、洗衣机类和电视类的共同属性,然后再针对每个子类定义它们特有的属性和方法。
首先,我们可以定义ElectricalAppliance类,包含以下属性:品牌(brand)、型号(model)、颜色(color)、售价(price)。然后定义一个display方法来显示这些属性。
```java
public class ElectricalAppliance {
private String brand;
private String model;
private String color;
private double price;
public ElectricalAppliance(String brand, String model, String color, double price) {
this.brand = brand;
this.model = model;
this.color = color;
this.price = price;
}
public void display() {
System.out.println("品牌: " + brand);
System.out.println("型号: " + model);
System.out.println("颜色: " + color);
System.out.println("售价: " + price);
}
}
```
接下来,我们定义冰箱类(Fridge)、洗衣机类(WashingMachine)和电视类(TV),它们都继承自ElectricalAppliance类。针对不同的子类,我们可以再定义它们特有的属性和方法。
例如,冰箱类可以定义门款式(doorStyle)和制冷方式(coolingMethod)两个属性,然后重写父类的display方法以显示这两个属性。
```java
public class Fridge extends ElectricalAppliance {
private String doorStyle;
private String coolingMethod;
public Fridge(String brand, String model, String color, double price, String doorStyle, String coolingMethod) {
super(brand, model, color, price);
this.doorStyle = doorStyle;
this.coolingMethod = coolingMethod;
}
@Override
public void display() {
super.display();
System.out.println("门款式: " + doorStyle);
System.out.println("制冷方式: " + coolingMethod);
}
}
```
洗衣机类可以定义电机类型(motorType)和洗涤容量(washingCapacity)两个属性,然后同样重写父类的display方法。
```java
public class WashingMachine extends ElectricalAppliance {
private String motorType;
private double washingCapacity;
public WashingMachine(String brand, String model, String color, double price, String motorType, double washingCapacity) {
super(brand, model, color, price);
this.motorType = motorType;
this.washingCapacity = washingCapacity;
}
@Override
public void display() {
super.display();
System.out.println("电机类型: " + motorType);
System.out.println("洗涤容量: " + washingCapacity);
}
}
```
电视类可以定义屏幕尺寸(screenSize)和分辨率(resolution)两个属性,同样也需要重写父类的display方法。
```java
public class TV extends ElectricalAppliance {
private double screenSize;
private String resolution;
public TV(String brand, String model, String color, double price, double screenSize, String resolution) {
super(brand, model, color, price);
this.screenSize = screenSize;
this.resolution = resolution;
}
@Override
public void display() {
super.display();
System.out.println("屏幕尺寸: " + screenSize);
System.out.println("分辨率: " + resolution);
}
}
```
这样,我们就完成了关于电器类的继承和封装的编程实现。我们可以通过创建不同的对象来调用它们的display方法,从而显示它们的属性信息。
阅读全文