Qual é o princípio fundamental da orientação a objetos que
estabelece uma estrutura com um conjunto de métodos
abstratos e/ou constantes, definindo quais métodos uma
classe deve implementar e estabelecendo um tipo de
contrato entre diferentes partes do código?