海尔、TCL、海信都是家电制造商,它们都生产电视机、空调、冰箱。现需要设计一个系统,描述这些家电制造商以及它们所制造的电器,要求绘制类图并用java代码模拟实现。
时间: 2024-12-22 18:26:07 浏览: 12
在UML(统一建模语言)中,我们可以创建一个简单的类图来描述这个场景。主要有三个类:制造商(Manufacturer)、电器(Appliance)和特定品牌电器(BrandAppliance),其中海尔(Haier)、TCL(TCL)和海信(Hisense)可以作为制造商的具体实例。
类图可能会这样设计:
- ` Manufacturer` (制造商):包含属性如名称,有方法制造Appliances。
- ` Appliance` (电器):一个通用类,包含属性如型号、类型等。
- ` BrandAppliance` (特定品牌电器): 继承自Appliance,增加品牌属性,并关联到具体的制造商。
以下是简单的Java代码实现:
```java
// 家电制造商类
class Manufacturer {
private String name;
public Manufacturer(String name) {
this.name = name;
}
// 生产电器的方法
public void manufacture(BrandAppliance appliance) {
System.out.println(name + "制造了:" + appliance);
}
}
// 电器类
abstract class Appliance {
protected String model;
protected String type;
// 构造函数和 getter/setter省略
}
// 特定品牌电器类
class BrandAppliance extends Appliance {
private String brand;
private Manufacturer manufacturer;
public BrandAppliance(String model, String type, String brand) {
this.model = model;
this.type = type;
this.brand = brand;
}
// 添加品牌信息
public void setManufacturer(Manufacturer manufacturer) {
this.manufacturer = manufacturer;
}
@Override
public void printInfo() {
System.out.println("品牌:" + brand + ", 模型:" + model + ", 类型:" + type);
}
}
public class Main {
public static void main(String[] args) {
Manufacturer haier = new Manufacturer("海尔");
Manufacturer tcl = new Manufacturer("TCL");
Manufacturer hisense = new Manufacturer("海信");
BrandAppliance tv = new BrandAppliance("智能电视", "电视", "海尔");
tv.setManufacturer(haier);
BrandAppliance ac = new BrandAppliance("变频空调", "空调", "TCL");
ac.setManufacturer(tcl);
BrandAppliance fridge = new BrandAppliance("节能冰箱", "冰箱", "海信");
fridge.setManufacturer(hisense);
haier.manufacture(tv); // 海尔制造电视
tcl.manufacture(ac); // TCL制造空调
hisense.manufacture(fridge); // 海信制造冰箱
tv.printInfo(); // 打印海尔电视的信息
ac.printInfo(); // 打印TCL空调的信息
fridge.printInfo(); // 打印海信冰箱的信息
}
}
```
阅读全文