No desenvolvimento do módulo de cálculo de autonomia de combustível do sistema de navegação aérea, um programador criou uma classe abstrata Aeronave com um método calcularAutonomia(). Duas subclasses, AviaoComercial e Helicoptero, herdam de Aeronave e implementam o método de maneiras totalmente distintas.
A orientação a objetos baseia-se em pilares fundamentais para promover flexibilidade e reutilização de código.
O conceito que permite a referências do tipo genérico Aeronave invocar comportamentos específicos diferentes, dependendo do tipo do objeto real apontado em tempo de execução, é