1.电器类 一个电器销售公司想开发一套管理系统,该公司的主要业务是销售一些家用电器,例如:电冰箱、洗衣机、电视机产品。经调查,各种电器的属性如下: 冰箱类:品牌、型号、颜色、售价、门款式、制冷方式。 洗衣机类:品牌、型号、颜色、售价、电机类型、洗涤容量。 电视类:品牌、型号、颜色、售价、屏幕尺寸、分辨率。不同的电器有不同的显示信息的方式。 要求:用封装、继承(包括this、super等)等知识点编程实现。
时间: 2023-07-03 20:14:07 浏览: 95
可以使用面向对象的编程方式来实现该电器销售公司的管理系统。首先,可以定义一个名为ElectricalAppliance的父类,用于存储所有电器的共同属性,例如品牌、型号、颜色、售价等。然后,可以定义三个子类分别代表冰箱、洗衣机和电视,这些子类继承ElectricalAppliance,同时又有各自的特殊属性和方法。
以下是一个基本的示例代码:
```java
// ElectricalAppliance 类,代表所有电器的父类
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;
}
// getter 和 setter 方法省略
public void showInfo() {
System.out.println("品牌:" + brand);
System.out.println("型号:" + model);
System.out.println("颜色:" + color);
System.out.println("售价:" + price);
}
}
// Refrigerator 类,代表冰箱
public class Refrigerator extends ElectricalAppliance {
private String doorStyle; // 门款式
private String coolingMethod; // 制冷方式
public Refrigerator(String brand, String model, String color, double price, String doorStyle, String coolingMethod) {
super(brand, model, color, price);
this.doorStyle = doorStyle;
this.coolingMethod = coolingMethod;
}
// getter 和 setter 方法省略
public void showInfo() {
super.showInfo();
System.out.println("门款式:" + doorStyle);
System.out.println("制冷方式:" + coolingMethod);
}
}
// WashingMachine 类,代表洗衣机
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;
}
// getter 和 setter 方法省略
public void showInfo() {
super.showInfo();
System.out.println("电机类型:" + motorType);
System.out.println("洗涤容量:" + washingCapacity);
}
}
// Television 类,代表电视
public class Television extends ElectricalAppliance {
private double screenSize; // 屏幕尺寸
private String resolution; // 分辨率
public Television(String brand, String model, String color, double price, double screenSize, String resolution) {
super(brand, model, color, price);
this.screenSize = screenSize;
this.resolution = resolution;
}
// getter 和 setter 方法省略
public void showInfo() {
super.showInfo();
System.out.println("屏幕尺寸:" + screenSize);
System.out.println("分辨率:" + resolution);
}
}
```
在上面的代码中,ElectricalAppliance是一个抽象的父类,提供了品牌、型号、颜色、售价等公共属性。Refrigerator、WashingMachine和Television三个子类分别代表了冰箱、洗衣机和电视,这些子类都继承了ElectricalAppliance,并且还有各自特殊的属性和方法。其中,每个子类都有一个showInfo()方法,用于显示该电器的所有属性信息。
这样,就可以通过创建Refrigerator、WashingMachine或Television对象来存储冰箱、洗衣机或电视的属性信息,并且可以通过调用showInfo()方法来显示这些信息。例如:
```java
public static void main(String[] args) {
Refrigerator r = new Refrigerator("Haier", "BCD-123", "White", 2399.0, "双开门", "直冷");
r.showInfo();
WashingMachine w = new WashingMachine("LG", "WM-1088", "Silver", 3299.0, "变频电机", 8.0);
w.showInfo();
Television t = new Television("Samsung", "UA55TU7000JXZK", "Black", 4999.0, 55.0, "4K");
t.showInfo();
}
```
运行上面的代码,将输出如下结果:
```
品牌:Haier
型号:BCD-123
颜色:White
售价:2399.0
门款式:双开门
制冷方式:直冷
品牌:LG
型号:WM-1088
颜色:Silver
售价:3299.0
电机类型:变频电机
洗涤容量:8.0
品牌:Samsung
型号:UA55TU7000JXZK
颜色:Black
售价:4999.0
屏幕尺寸:55.0
分辨率:4K
```
阅读全文