Many Forms, One Interface
Polymorphism allows objects to be treated as instances of their parent class rather than their actual class. It enables a single interface to control access to a general class of actions.
lightbulb
The Universal Remote Analogy
Imagine a "Universal Remote" with a generic "Power On" button.
- check_circle Point it at a TV, and the screen lights up.
- check_circle Point it at a Stereo, and music starts playing.
- check_circle Point it at an AC Unit, and cold air blows.
The action (pressing the button) is the same, but the result depends on the actual object receiving the signal. This is Polymorphism.
tv
speaker
ac_unit
power_settings_new
remote.powerOn()