Polimorfismo Python
Todos nós sabemos que Python é uma linguagem fracamente tipada, e sua característica mais óbvia é que quando variáveis são usadas, não há necessidade de especificar tipos de dados específicos para elas. Isso leva a uma situação em que a mesma variável pode ser atribuída a diferentes objetos de classe, um após o outro, por exemplo:
class C:
def say(self):
print("赋值的是 C类的实例方法")
class Python:
def say(self):
print("赋值的是Python 类的实例方法")
a = C()
a.say()
a = Python()
a.say()
O resultado da corrida é:
O valor atribuído é o objeto de instância da classe C. O valor atribuído é o objeto
de instância da classe Python.
Como você pode ver, a pode ser atribuído a objetos da classe C e da classe Python sucessivamente, mas isso não é polimórfico. A natureza polimórfica da classe deve atender aos dois pré-requisitos a seguir: