Skip to content
polymorphism

File:UML_class_pet.svg · Wikimedia Commons · See Wikimedia Commons

EntityQ3240252· pop 46· linked from 181 articles

polymorphism

Sign in to save

Also 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

Wikidata facts

Show 1 more fact
Sources (5)

via Wikidata · CC0

~11 min read

Article

In programming language theory and type theory, polymorphism allows a value or variable to have more than one type and allows a given operation to be performed on values of more than one type.

In object-oriented programming, polymorphism is the provision of one interface to entities of different data types. The concept is borrowed from a principle in biology in which an organism or species can have many different forms or stages.

Connections

Categories