# 实 *** 案例13 -- 任务1 -- 乐器 - 类
class Instrument(): #定义一个乐器类
def make_sound(self): #定义一个发声的函数
pass
class Erhu(Instrument): #二胡类,属于乐器,可以继承乐器类
def make_sound(self): #重新发声方法
print('二胡在演奏')
class Pinao(Instrument):
def make_sound(self):
print('钢琴在演奏')
class Violin(Instrument):
def make_sound(self):
print('小提琴在演奏')
#演奏的函数
def play(instrument): #给一个乐器就可以演奏
instrument.make_sound() #乐器发声的方法
class Bird():
def make_sound(self):
print('小鸟在唱歌')
if __name__ == '__main__':
play(Erhu())
play(Pinao())
play(Violin())
play(Bird())
'''打印
二胡在演奏
钢琴在演奏
小提琴在演奏
小鸟在唱歌
'''
# 实 *** 案例13 -- 任务2 -- 出租车、私家车 - 类,面向对象编程
class Car(object):
def __init__(self,type,no):
self.type = type
self.no = no
def start(self):
pass
def stop(self):
pass
class Taix(Car):
def __init__(self,type,no,company):
super().__init__(type,no) #使用supper调用父类的init函数
self.company = company #给company进行赋值
def start(self): #重写start方法
print('乘客您好!')
print(f'我是{self.company}出租车公司的,我得车牌是{self.no},请问您要去哪里?')
def stop(self):
print('目的地到了,请付费下车!')
class FamilyCar(Car):
def __init__(self,type,no,name):
super().__init__(type,no) #函数调用需要传参,所以需要写type,no这些
self.name = name
def stop(self):
print('目的地到了,我们去玩吧!')
def start(self):
print(f'我是{self.name},我得汽车我做主')
if __name__ == '__main__':
taxi = Taix('上海大众','京A 1234','长城')
taxi.start()
taxi.stop()
print('--'*30)
family = FamilyCar('宝马','京B 4321','张三')
family.start()
family.stop()
'''打印:
乘客您好!
我是长城出租车公司的,我得车牌是京A 1234,请问您要去哪里?
目的地到了,请付费下车!
------------------------------------------------------------
我是张三,我得汽车我做主
目的地到了,我们去玩吧!
'''
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)