JAVA中Mainboard和HDD(硬盘)增加类 Laptop(便携计算机),请思考Laptop与Mainboard、HDD、Computer 的关系,并实现代码输出结果
时间: 2024-10-19 10:14:06 浏览: 39
在Java中,我们可以将`Mainboard`和`HDD`视为`Computer`类的组成部分,而`Laptop`是一个特殊的`Computer`实例,它包含了这两种组件。在这种设计模式下,`Laptop`类可以继承自`Computer`类,并添加一些特定于笔记本电脑的属性和行为。
首先,我们定义一个基础的`Computer`类,包含`mainboard`和`hdd`两个字段:
```java
public abstract class Computer {
private Mainboard mainboard;
private HDD hdd;
public Computer(Mainboard mainboard, HDD hdd) {
this.mainboard = mainboard;
this.hdd = hdd;
}
// getters and setters
public Mainboard getMainboard() { return mainboard; }
public void setMainboard(Mainboard mainboard) { this.mainboard = mainboard; }
public HDD getHdd() { return hdd; }
public void setHdd(HDD hdd) { this.hdd = hdd; }
// 其他通用方法...
}
```
接着,我们创建`Mainboard`和`HDD`类作为具体的组件:
```java
class Mainboard {
// 主板相关属性和方法...
}
class HDD {
// 硬盘相关属性和方法...
}
```
然后,我们定义`Laptop`类,它是`Computer`的子类,并可能添加一些特有属性和方法:
```java
public class Laptop extends Computer {
private String brand;
private int weight;
public Laptop(Mainboard mainboard, HDD hdd, String brand, int weight) {
super(mainboard, hdd);
this.brand = brand;
this.weight = weight;
}
// 特定于笔记本的方法...
public String getBrand() { return brand; }
public void setBrand(String brand) { this.brand = brand; }
public int getWeight() { return weight; }
public void setWeight(int weight) { this.weight = weight; }
@Override
public String toString() {
return "Laptop [brand=" + brand + ", mainboard=" + mainboard + ", hdd=" + hdd + ", weight=" + weight + "]";
}
}
```
现在,你可以创建并输出`Laptop`对象:
```java
public static void main(String[] args) {
Mainboard mainboard = new Mainboard();
HDD hdd = new HDD();
Laptop laptop = new Laptop(mainboard, hdd, "Dell", 2kg);
System.out.println(laptop); // 输出笔记本的信息,如品牌、主板和硬盘
}
```
阅读全文
相关推荐
















