File:UML_class_pet.svg · Wikimedia Commons · See Wikimedia Commons
polimorfismo
Sign in to saveAlso known as polymorphism (computer science), Polymorfism
in programming languages and type theory, accessing different types using a common interface
Described at

polymorphism | Python Glossary – Real Python
A concept in object-oriented programming (OOP) that allows objects of different classes to be treated the same if they share the same interface.
realpython.com →Polymorphism enables you to use a single interface to represent different underlying classes. In Python, polymorphism is achieved primarily through duck typing , but you can also implement it through inheritance and method overriding . Polymorphism enhances flexibility and maintainability by allowing you to write more generic and reusable code. class Duck: def swim(self): print("The duck is swimming.") class Albatross: def swim(self): print("The albatross is swimming.") The two classes don’t share a common base class . Because they share the same interface, you can still use them in the same way: from birds import Duck, Albatross birds = [Duck(), Albatross()] for bird in birds: ... bird.swim() ... The duck is swimming. The albatross is swimming. class Animal: def speak(self): print("Animal speaks") class Dog(Animal): def speak(self): print("Woof, Woof") class Cat(Animal): def speak(self): print("Meow, Meow") def make animal speak(animal): animal.speak() In this example, both Dog and Cat are subclasses of Animal and override the .speak() method. You can use instances of these classes the same way: The make animal speak() function demonstrates polymorphism by accepting any animal that inherits from Animal and calling its .speak() method, regardless of the specific type of animal. Learn how to define and use Python classes to implement object-oriented programming. Dive into attributes, methods, inheritance, and more.
Excerpt from a page describing this subject · 5,830 chars · not written by Vinony
Article · Português
Na programação orientada a objetos, o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, é possível tratar vários tipos de maneira homogênea (através da interface do tipo mais abstrato). O termo polimorfismo é originário do grego e significa "muitas formas" (poli = muitas, morphos = formas). O polimorfismo é caracterizado quando duas ou mais classes distintas têm métodos de mesmo nome, de forma que uma função possa utilizar um objeto de qualquer uma das classes polimórficas, sem necessidade de tratar de forma diferenciada conforme a classe do objeto. Uma das formas de implementar o polimorfismo é através de uma classe abstrata, cujos métodos são declarados mas não são definidos, e através de classes que herdam os métodos desta classe abstrata.
Abstract from DBpedia / Wikipedia · CC BY-SA