设计一个名为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属性 ###Fan类定义: class Fan: ...... 裁判测试程序样例: SLOW = 1 MEDIUM = 2 FAST = 3 #请在这里填写答案 def main(): fan1 = Fan() print(fan1) print() fan2 = Fan() fan2.setSpeed(FAST) fan2.setRadius(10) fan2.setColor("blue") fan2.setOn(True) print(fan2) main()
时间: 2024-03-24 12:40:13 浏览: 11
以下是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类的Python代码实现:
```python
class Fan:
SLOW = 1
MEDIUM = 2
FAST = 3
def __init__(self, speed=1, on=False, radius=5, color="white"):
self.__speed = speed
self.__on = on
self.__radius = radius
self.__color = color
def getSpeed(self):
return self.__speed
def setSpeed(self, speed):
self.__speed = speed
def isOn(self):
return self.__on
def setOn(self, on):
self.__on = on
def getRadius(self):
return self.__radius
def setRadius(self, radius):
self.__radius = radius
def getColor(self):
return self.__color
def setColor(self, color):
self.__color = color
def __str__(self):
return "speed={}, radius={}, color={}, on={}".format(
self.__speed, self.__radius, self.__color, self.__on)
def main():
fan1 = Fan()
print(fan1)
print()
fan2 = Fan()
fan2.setSpeed(Fan.FAST)
fan2.setRadius(10)
fan2.setColor("blue")
fan2.setOn(True)
print(fan2)
main()
```
输出结果:
```
speed=1, radius=5, color=white, on=False
speed=3, radius=10, color=blue, on=True
```
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)