设计一个名为Fan的类表示一个风扇。这个类包括: 1.三个名为SlOW、MEDIUM和FAST,其值为1、2和3常量表示风扇的速度。 2.一个名为speed的int类型私有数据域表示风扇的速度(默认值为SLOW)。 3.一个名为on的boolean类型私有数据域表示风扇是否打开(默认值为false)。 4.一个名为radius的double类型私有数据域表示风扇的半径(默认值为5)。 5.一个名为color的string类型数据域表示风扇的颜色(默认值为white)。 6.这四个数据域的访问器和修改器。 7.一个构造方法创建一个具有特地速度、半径、颜色以及是否打开的风扇。 请在自己的草稿本上画出UML图,养成良好的设计习惯。 要求:创建两个Fan对象: 第一个对象,构造默认值的风扇对象Fan1; 第二个对象,赋值最大速度、半径为10、颜色为blue,打开它的对象Fan2。 显示每个对象的speed、radius、color和on属性
时间: 2023-11-27 22:53:52 浏览: 203
以下是Fan类的UML图:
```
+-----------------+
| Fan |
+-----------------+
| - SLOW: int = 1 |
| - MEDIUM: int = 2 |
| - FAST: int = 3 |
| - speed: int |
| - on: boolean |
| - radius: double|
| - color: string |
+-----------------+
| +Fan() |
| +Fan(speed: int, radius: double, color: string, on: boolean)|
| +getSpeed(): int|
| +setSpeed(speed: int): void|
| +isOn(): boolean|
| +setOn(on: boolean): void|
| +getRadius(): double|
| +setRadius(radius: double): void|
| +getColor(): string|
| +setColor(color: string): void|
+-----------------+
```
以下是Fan类的Java代码实现:
```java
public class Fan {
public static final int SLOW = 1;
public static final int MEDIUM = 2;
public static final int FAST = 3;
private int speed;
private boolean on;
private double radius;
private String color;
public Fan() {
this.speed = SLOW;
this.on = false;
this.radius = 5.0;
this.color = "white";
}
public Fan(int speed, double radius, String color, boolean on) {
this.speed = speed;
this.radius = radius;
this.color = color;
this.on = on;
}
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public boolean isOn() {
return on;
}
public void setOn(boolean on) {
this.on = on;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
```
以下是创建两个Fan对象的代码:
```java
public class Main {
public static void main(String[] args) {
Fan fan1 = new Fan();
Fan fan2 = new Fan(Fan.FAST, 10.0, "blue", true);
System.out.println("Fan1 speed: " + fan1.getSpeed());
System.out.println("Fan1 radius: " + fan1.getRadius());
System.out.println("Fan1 color: " + fan1.getColor());
System.out.println("Fan1 on: " + fan1.isOn());
System.out.println("Fan2 speed: " + fan2.getSpeed());
System.out.println("Fan2 radius: " + fan2.getRadius());
System.out.println("Fan2 color: " + fan2.getColor());
System.out.println("Fan2 on: " + fan2.isOn());
}
}
```
运行结果如下:
```
Fan1 speed: 1
Fan1 radius: 5.0
Fan1 color: white
Fan1 on: false
Fan2 speed: 3
Fan2 radius: 10.0
Fan2 color: blue
Fan2 on: true
```
阅读全文