File:UML_class_pet.svg · Wikimedia Commons · See Wikimedia Commons
Also known as polymorphism (computer science), Polymorfism
程序设计语言与类型理论
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 · 中文
在编程语言和类型论中,多态(英語:polymorphism)指为不同数据类型的实体提供统一的接口,或使用一个单一的符号来表示多个不同的类型。 多态的最常见主要类别有: * 特设多态:为个体的特定类型的任意集合定义一个共同接口。 * 参数多态:指定一个或多个类型不靠名字而是靠可以标识任何类型的抽象符号。 * 子类型(也叫做子类型多态或包含多态):一个名字指称很多不同的类的实例,这些类有某个共同的超类。
Abstract from DBpedia / Wikipedia · CC BY-SA