Python中的多态理解
首先Python天生支持多态。例如:
class List: def __len__(self):pass class Tuple: def __len__(self):pass def len(li_tu): return li_tu.__len__()
这里的List和Tuple都是自己写代码中的_len_方法,而不是通过创建一个父类去约束它。其优点是:松耦合,即每个类中的方法命名不受另外的类中的方法修改影响。缺点:太随意了,只能靠自觉。
Python的这种叫“鸭子类型”。而java实现多态,要通过创建父类而存在。