python 面对对象 类 多态

多态

多态是指一类事物有多种形态,即一个抽象类有多个子类,因而多态的概念依赖于继承

 

多态性

一个接口,多种实现,可以简单理解为具有不同功能的函数使用相同的函数名,这样就可以用一个函数名调用不同的函数功能

就像,你的家人 你的妻子 你的丈夫 你的兄弟 你的姐妹 等等,都给你发一样的消息,比如都给你发早上好,那么你对不同的人也会有不同回复行为

 

多态实现

只需要对象的实例方法同名,对象所属的类不一定要有继承关系

优点:

  • 多态可以增加代码的外部调用灵活度,增加代码的通用性,提高兼容性
  • 多态是调用方法的技巧,在类做内部设计时不受影响

 

class Person():
    def run(self):
        print('我是人')

class Man(Person):
    def run(self):
        print('我是父亲')

class Woman(Person):
    def run(self):
        print('我是母亲')

class Son(Woman, Man):
    def run(self):
        print('我是孩子')

def main(people):
    people.run()

p = Person()
m = Man()
w = Woman()
s = Son()

main(m)            # 我是父亲

 

class Person():
    def run(self):
        print('我是人')

class Man():
    def run(self):
        print('我是父亲')

class Woman():
    def run(self):
        print('我是母亲')

class Son():
    def run(self, people):
         main(people)
         print('我是孩子')

def main(people):
     people.run()

p = Person()
m = Man()
w = Woman()
s = Son()

s.run(w)
  • 19
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值