# 多态: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) # aipay=Alipay() # applepay=Applepay() pay(Applepay(),100) # 什么是多态: 事物的多种形态 #多态性: 执行同一个方法,根据不同的参数(传进来的方法),实现不同的功能 #pay(Applepay(),100) #pay(Alipay(),100) # python 动态强类型的语言 # 鸭子类型: # 1、不崇尚根据继承所得来的相似功能 # list class list(object): # tuple class tuple(object): #两种类型都有 index len 等用法 (而没使用继承一个父类来约束方法) # 2、我只是自己实现我自己的代码就可以了。 # 3、如果两个类刚好相似,并不产生父类的子类的兄弟关系,而是鸭子类型 # 4、list(列表) tuple(元祖) 这种相似,是自己写代码的时候约束的,而不是通过父类约束的 # 5、优点 : 松耦合---每个相似的类之间都没有影响 # 6、缺点 : 太随意了,只能靠自觉 # class List(): # def __len__(self):pass # class Tuple(): # def __len__(self):pass # def len(obj): # return obj.__len__() # l = Tuple() # len(l) # # 强类型语言 多态 # # python 语言 鸭子类型 # 接口类和抽象类 在python当中的应用点并不是非常必要*****