10.1 Polymorphism vs. Function Passing
Operator Overloading
Suppose we define a Dog class:
The Python code below can be used to find the maximum Dog in a list of Dogs.
The get_the_max function in Python is general and can work on any type. It achieves this generality by harnessing "operator overloading".
More generally, this ability to handle any type is sometimes called "polymorphism", which I'll define via wikipedia as “the ability in programming to present the same programming interface for differing underlying forms” [wiki]
In this case, the > operator allows to compare anything (i.e. "any underlying form") in Python. In turn the definition of > is given by __gt__
.
Previous10. Inheritance II: Subtype Polymorphism, Comparators, Comparables, Generic FunctionsNext10.2 Comparables and Comparators
Last updated