Python类之多态

多态:参数类型用基类声明,执行的时候会根据传入的对象(同名方法)去执行相应的方法,具有不同的效果。
即同一个函数,传不同的类(父类、子类)。

看两个例子就比较容易理解了
例1:

class F1:
    pass

class S1(F1):

    def show(self):
        print ('S1.show')

class S2(F1):

    def show(self):
        print ('S2.show')

def func(obj):
    """func函数需要接收一个F1类型或者F1子类的类型"""

    obj.show()

s1_obj = S1()
func(s1_obj) # 在func函数中传入S1类的对象 #s1_obj,执行 S1 的show方法,结果:#S1.show

s2_obj = S2()
func(s2_obj) # 在func函数中传入S2类的对象 #s2_obj,执行 S2 的show方法,结果:#S2.show

在这里插入图片描述

例2:

class calculator:

    def count(self,args):
        return 1

calc=calculator() 
#自定义类型

obj_list = ['hello,world',[1,2,3],calc]
for obj in obj_list:
    print(obj)
    print(type(obj))
    print(obj.count('a')) #方法多态

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值