源码先锋

源码先锋

多态是什么?为什么要使用多态?

admin 85 175
多态

所谓多态:定义时的类型和运行时的类型不一样,此时就成为多态,多态的概念是应用于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)

更多资料私信领取~、