This allows for new derived types to be introduced with no change to the code that uses the base class.
Isto da liberdade para crear novos tipos derivados sen ningún cambio no código que utiliza a clase base.