python3学习之路 -- 27)实 *** 练习13 -- 乐器、车 - 类(面向对象 - 封装、继承、多态)

python3学习之路 -- 27)实 *** 练习13 -- 乐器、车 - 类(面向对象 - 封装、继承、多态),第1张

# 实 *** 案例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,请问您要去哪里?
目的地到了,请付费下车!
------------------------------------------------------------
我是张三,我得汽车我做主
目的地到了,我们去玩吧!
'''

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/869941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存