需求:乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和小提琴。定义一个乐器类,包括方法make_sound()。定义乐器类的子类:二胡、钢琴和小提琴,定义一个函数可以弹奏各类乐器,测试给乐手不同的乐器让他弹奏。
类的继承和多态、方法重写的应用。
代码如下:
class Instrument():
def make_sound(self):
pass
class Erhu(Instrument):
def make_sound(self):
print('二胡在弹奏')
class Piano(Instrument):
def make_sound(self):
print('钢琴在弹奏')
class Violin(Instrument):
def make_sound(self):
print('小提琴在弹奏')
def play(obj):
obj.make_sound()
er=Erhu()
pia=Piano()
vio=Violin()
play(er)
play(pia)
play(vio)
运行结果如下: