所谓多态:定义时的类型和运行时的类型不一样,此时就成为多态,多态的概念是应用于Java和C的多态
classF1(object):defshow(self):print('')classS1(F1):defshow(self):print('')classS2(F1):defshow(self):print('')中定义函数参数时,必须指定参数的类型所以在defFunc的形参中obj的类型是S1和S2的父类即F1而实际传入的参数是:S1对象和S2对象defFunc(F1obj):"""Func函数需要接收一个F1类型或者F1子类的类型"""print(())s1_obj=S1()Func(s1_obj)在Func函数中传入Ss类的对象ss_obj,执行Ss的show方法,结果:·Python“鸭子类型”
classF1(object):defshow(self):print('')classS1(F1):defshow(self):print('')classS2(F1):defshow(self):print('')defFunc(obj):#python是弱类型,即无论传递过来的是什么,obj变量都能够指向它,这也就没有所谓的多态了(弱化了这个概念)print(())s1_obj=S1()Func(s1_obj)s2_obj=S2()Func(s2_obj)更多资料私信领取~、
版权声明:文章来源网络聚合,如有问题请联系删除。





