笔记:python基础之面向对象特性——多态

多态指的是一样事物有多种表现形态。(自定义函数中的参数类型,不用在建立函数时就定义)
多态性是指在不考虑实例类型的情况下使用实例。
python 天生支持多态,没有生成多态的机制,是因为python天生支持多态。

def func(int num,str name):
    pass
func('alex',2)

class Payment:pass

class Alipay():
    def pay(self,money):
        print('已经用支付宝支付了%s元' % money)
class Applepay():
    def pay(self,money):
        print('已经用applepay支付了%s元' % money)
def pay(pay_obj,money):  # 统一支付入口  归一化设计
    pay_obj.pay(money)

pay()

什么是多态
python 动态强类型的语言(可以是强类型和弱类型)
鸭子类型——不依赖父类的情况下实现两个相似的类中的同名方法
list tuple

  • 不崇尚根据继承所得来的相似
  • 我只是自己实现我自己的代码就可以了。
  • 如果两个类刚好相似,并不产生父类的子类的兄弟关系,而是鸭子类型
  • list tuple 这种相似,是自己写代码的时候约束的,而不是通过父类约束的

优点 : 松耦合 每个相似的类之间都没有影响
缺点 : 太随意了,只能靠自觉

class List():
    def __len__(self):pass
class Tuple():
    def __len__(self):pass

def len(obj):
    return obj.__len__()

l = Tuple()
len(l)
#不同类型中都有相同的自定义函数名称__len__,所以对类型的要求不高
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值