设计一个名为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属性
时间: 2024-03-24 12:40:13 浏览: 87
面向对象程序语言设计第9章编程题
5星 · 资源好评率100%
以下是Fan类的UML图:
```
________________________
| Fan |
|----------------------|
| -SLOW: int = 1 |
| -MEDIUM: int = 2 |
| -FAST: int = 3 |
| -speed: int |
| -on: boolean |
| -radius: double |
| -color: string |
|----------------------|
| +Fan() |
| +Fan(speed: int, on: |
| boolean, radius:|
| double, color: |
| string) |
| +getSpeed(): int |
| +setSpeed(speed: int)|
| +isOn(): boolean |
| +setOn(on: boolean) |
| +getRadius(): double |
| +setRadius(radius: |
| double) |
| +getColor(): string |
| +setColor(color: |
| string) |
|______________________|
```
以下是Fan类的Java代码实现:
```java
public class Fan {
private final int SLOW = 1;
private final int MEDIUM = 2;
private final int FAST = 3;
private int speed;
private boolean on;
private double radius;
private String color;
public Fan() {
speed = SLOW;
on = false;
radius = 5;
color = "white";
}
public Fan(int speed, boolean on, double radius, String color) {
this.speed = speed;
this.on = on;
this.radius = radius;
this.color = color;
}
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代码:
```java
public class Main {
public static void main(String[] args) {
Fan fan1 = new Fan();
Fan fan2 = new Fan(Fan.FAST, true, 10, "blue");
System.out.println("Fan 1: speed=" + fan1.getSpeed() + ", radius=" + fan1.getRadius() + ", color=" + fan1.getColor() + ", on=" + fan1.isOn());
System.out.println("Fan 2: speed=" + fan2.getSpeed() + ", radius=" + fan2.getRadius() + ", color=" + fan2.getColor() + ", on=" + fan2.isOn());
}
}
```
输出结果:
```
Fan 1: speed=1, radius=5.0, color=white, on=false
Fan 2: speed=3, radius=10.0, color=blue, on=true
```
阅读全文