↩ 🔵 🔵 🔵


Primary

၊၊||၊|။

Polymorphism ○|Definition|1st|20261025155446-00-⌔

Polymorphism (computer science) - Wikipedia

Polymorphism (computer science)

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.1

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

The most commonly recognized major forms of polymorphism are:

  • Ad hoc polymorphism: defines a common interface for an arbitrary set of individually specified types.
  • Parametric polymorphism: does not specify concrete types and instead uses abstract symbols that can substitute for any type.
  • Subtyping (also called subtype polymorphism or inclusion polymorphism): when a name denotes instances of many different classes related by a common superclass.4

Printed 2026-10-25.

(echo:: @ ᯤ)

Footnotes

  1. Cardelli, Luca; Wegner, Peter (December 1985). “On understanding types, data abstraction, and polymorphism” (PDF). ACM Computing Surveys. 17 (4): 471–523. doi:10.1145/6041.6042. S2CID 2921816. Conventional typed languages, such as Pascal, are based on the idea that functions and procedures, and hence their operands, have a unique type. Such languages are said to be monomorphic, in the sense that every value and variable can be interpreted to be of one and only one type. Monomorphic programming languages may be contrasted with polymorphic languages in which some values and variables may have more than one type. Polymorphic functions are functions whose operands (actual parameters) can have more than one type. Polymorphic types are types whose operations are applicable to values of more than one type. ↩

  2. Stroustrup, Bjarne (February 19, 2007). “Bjarne Stroustrup’s C++ Glossary”. polymorphism – providing a single interface to entities of different types. ↩

  3. “Polymorphism”. The Java Tutorials: Learning the Java Language: Interfaces and Inheritance. Oracle. Retrieved 2021-09-08. ↩

  4. Conallen, J.; Engle, M.; Houston, K.; Maksimchuk, R.; Young, B.; Booch, G. (2007). Object-Oriented Analysis and Design with Applications (3rd ed.). Pearson Education. ISBN 978-0-13-279744-3. ↩

Link to original

Secondary

• • •