a.用Python设计一个Sofa(沙发)类,包括颜色属性; b.再设计一个Bed(床)类,包括大小和颜色两个属性; c.要求:Sofabed类(沙发床)继承自Sofa、Bed类,重写大小和颜色,并输出;
时间: 2024-02-18 08:00:21 浏览: 46
基于Java的SOFARPC高可扩展性高性能Java RPC框架设计源码
好的,我来回答你的问题。下面是Python代码:
```python
# 定义沙发类
class Sofa:
def __init__(self, color):
self.color = color
# 定义床类
class Bed:
def __init__(self, size, color):
self.size = size
self.color = color
# 定义沙发床类,继承自Sofa和Bed
class Sofabed(Sofa, Bed):
def __init__(self, size, color):
Sofa.__init__(self, color)
Bed.__init__(self, size, color)
# 重写大小和颜色的输出
def __str__(self):
return "这是一张" + self.color + "色的沙发床,大小为" + self.size
```
这样,我们就定义了三个类,分别是Sofa、Bed和Sofabed。其中,Sofabed继承自Sofa和Bed,并重写了大小和颜色的输出。
你可以这样使用这些类:
```python
# 创建一个红色的沙发
sofa = Sofa("红色")
print("这是一张" + sofa.color + "色的沙发")
# 创建一张双人床,大小为1.5米,颜色为白色
bed = Bed("1.5米", "白色")
print("这是一张" + bed.color + "色的" + bed.size + "的床")
# 创建一张沙发床,大小为1.8米,颜色为蓝色
sofabed = Sofabed("1.8米", "蓝色")
print(sofabed)
```
输出结果为:
```
这是一张红色色的沙发
这是一张白色色的1.5米的床
这是一张蓝色色的沙发床,大小为1.8米
```
阅读全文