python 中面向对象三特性,封装,继承,多态。但是关于python的多态问题,在业界存在着两种声音。一种认为存在,一种认为不存在。
以下列代码为例:
class Animal(object):
def talk():
pass
class Dog(Animal):
def talk():
print('旺旺')
class Cat(Animal):
def talk():
print('喵喵')
以上述代码来说,两个动物继承动物类,都为动物,符合动物的方法特性,为一个函数能多种不同的显示效果,可以称作是多态,但是如果将=Cat改成Table 那么崇理论上来说,就不是一个多态,因为桌子不是动物,不符合继承类的关系。这是因为python中没有对所继承子类进行限制,所以导致了这种问题。Java中就不存在这种问题。
总结所得,python中的多态问题可以说存在,也可以说不存在。我跟倾向于存在,但是不严谨。