海尔(Haier)、TCL、海信(Hisense)都是家电制造商,它们都生产电视机(Television)、空调(Air Conditioner)、冰箱(Refrigeratory)。现需要设计一个系统,描述这些家电制造商以及它们所制造的电器,要求绘制类图并用代码模拟实现
时间: 2024-06-18 22:03:21 浏览: 256
设计一个家居电器控制系统
这个系统可以设计为一个家电制造商类,包含电视机、空调和冰箱三个子类。以下是类图的设计:
![家电制造商类图](https://img-blog.csdnimg.cn/20211008193201837.png)
其中,家电制造商类包含制造商名称和国家两个属性,以及生产电器的三个方法。电视机、空调和冰箱三个子类继承自家电制造商类,分别包含各自的品牌、型号和价格属性,以及重写的生产电器方法。
以下是代码模拟实现:
```java
// 家电制造商类
public class HomeApplianceManufacturer {
private String manufacturerName; // 制造商名称
private String country; // 国家
public HomeApplianceManufacturer(String manufacturerName, String country) {
this.manufacturerName = manufacturerName;
this.country = country;
}
// 生产电视机
public Television produceTelevision(String brand, String model, double price) {
return new Television(manufacturerName, brand, model, price);
}
// 生产空调
public AirConditioner produceAirConditioner(String brand, String model, double price) {
return new AirConditioner(manufacturerName, brand, model, price);
}
// 生产冰箱
public Refrigeratory produceRefrigeratory(String brand, String model, double price) {
return new Refrigeratory(manufacturerName, brand, model, price);
}
}
// 电视机类
public class Television extends HomeApplianceManufacturer {
private String brand; // 品牌
private String model; // 型号
private double price; // 价格
public Television(String manufacturerName, String brand, String model, double price) {
super(manufacturerName, "China");
this.brand = brand;
this.model = model;
this.price = price;
}
}
// 空调类
public class AirConditioner extends HomeApplianceManufacturer {
private String brand; // 品牌
private String model; // 型号
private double price; // 价格
public AirConditioner(String manufacturerName, String brand, String model, double price) {
super(manufacturerName, "China");
this.brand = brand;
this.model = model;
this.price = price;
}
}
// 冰箱类
public class Refrigeratory extends HomeApplianceManufacturer {
private String brand; // 品牌
private String model; // 型号
private double price; // 价格
public Refrigeratory(String manufacturerName, String brand, String model, double price) {
super(manufacturerName, "China");
this.brand = brand;
this.model = model;
this.price = price;
}
}
```
相关问题:
1. 这些家电制造商都有哪些产品线?
2. 这些家电制造商都是哪些国家的公司?
3. 家电制造商之间有什么区别?
阅读全文