编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而 发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶实现思 路及关键代码 : (1)定义乐器类Instrument,包括方法makeSound() (2)定义乐器类的子类:二胡Erhu、钢琴Piano和小提琴Violin (3)定义乐手类Musician,可以弹奏各种乐器 play(Instrument i) (4)定义测试类给乐手不同的乐器让他弹奏
时间: 2023-07-10 20:28:43 浏览: 191
以下是 Python 代码实现:
```python
# 定义乐器类Instrument
class Instrument:
def makeSound(self):
pass
# 定义二胡类Erhu
class Erhu(Instrument):
def makeSound(self):
print("二胡的声音")
# 定义钢琴类Piano
class Piano(Instrument):
def makeSound(self):
print("钢琴的声音")
# 定义小提琴类Violin
class Violin(Instrument):
def makeSound(self):
print("小提琴的声音")
# 定义乐手类Musician
class Musician:
def play(self, instrument):
instrument.makeSound()
# 测试代码
if __name__ == '__main__':
musician = Musician()
erhu = Erhu()
piano = Piano()
violin = Violin()
musician.play(erhu) # 输出:二胡的声音
musician.play(piano) # 输出:钢琴的声音
musician.play(violin) # 输出:小提琴的声音
```
以上代码中,我们定义了乐器类 `Instrument`,并让三种乐器类 `Erhu`、`Piano` 和 `Violin` 继承了 `Instrument` 类。在 `Instrument` 类中,我们定义了一个 `makeSound` 方法,而在各个乐器类中,我们实现了这个方法并分别输出了不同的声音。
接着,我们定义了乐手类 `Musician`,其中有一个 `play` 方法,接收一个乐器类的实例对象作为参数,调用该实例对象的 `makeSound` 方法输出声音。
最后的测试代码中,我们创建了一个乐手类的实例对象 `musician`,以及不同乐器类的实例对象 `erhu`、`piano` 和 `violin`。通过调用 `musician` 的 `play` 方法,并传入不同的乐器类实例对象作为参数,实现了乐手弹奏不同乐器的效果。
阅读全文