面向对象三大特性之一--多态

75 篇文章 2 订阅
66 篇文章 5 订阅
#  多态 普通版本
# 对于同一个方法,由于调用的对象不同(或者传入的对象不同),最终实现了不同的结果

# 定义电脑类
class Computer():
    # 在电脑类中定义一个 sub 的规范的接口 方法
    def usb(self,obj):
        obj.start()

# 定义鼠标类
class Mouse():
    def start(self):
        print('鼠标启动成功。')

# 定义键盘类
class KeyBord():
    def start(self):
        print('键盘启动成功了。')

# 定义 U盘 类
class Udisk():
    def start(self):
        print('U盘启动了,赶紧检查一下我的文档还在不在。')

# 实例化对象
c = Computer()  # 电脑对象
m = Mouse()     # 鼠标对象
k = KeyBord()   # 键盘对象
u = Udisk()     # u盘对象


# 把不同的设备插入到电脑的usb的接口中
c.usb(m)
c.usb(k)
c.usb(u)
#  多态  继承版

'''
定义一个接口规范类,其它类都继承这个类,并实现(重写)父类中的方法
由于每个对象实现父类方法的方式或者过程都不相同,最后的结果是不一样的形态
'''


# 定义 USB
class USB():
    '''
     当前类的说明:
         这个类是一个接口规范类,需要子类继承并实现start方法
         start方法不做任何具体功能的实现
    '''
    #  在usb类中定义一个规范的接口方法,但是不实现任何功能,
    def start(self):
        pass



# 定义鼠标类
class Mouse(USB):
    def start(self):
        print('鼠标启动成功,可以双击单击嗨起来。。。')

# 定义键盘类
class KeyBord(USB):
    def start(self):
        print('键盘启动成功了,准备工作啦。')

# 定义 U盘 类
class Udisk(USB):
    def start(self):
        print('U盘启动了,赶紧检查一下我的文档还在不在。')

# 实例化对象
m = Mouse() # 鼠标对象
k = KeyBord() # 键盘对象
u = Udisk()  # U盘对象

m.start()
k.start()
u.start()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值