Durante o desenvolvimento de um software com programação orientada a objetos (OOP), chegou-se à conclusão de que era preciso criar uma classe que representasse um jogador de futebol. Tal classe deveria possuir uma função pública rating() que usasse as estatísticas da temporada para retornar a avaliação do jogador, em uma escala de 0 a 10. Utilizando os princípios de OOP, foi sugerido deixar o software pronto para ser utilizado com um número qualquer de modalidades desportivas, cujas funções rating() serão calculadas, cada uma, com suas fórmulas específicas, criando uma classe genérica Jogador e uma classe específica para cada modalidade (JogadorFutebol, JogadorVolei, etc.), todas contendo sua versão da função rating().

Q42.png (501×427)

O princípio de OOP que está sendo usado nesse exemplo é o de
O diagrama de classes da situação descrita é apresentado a seguir.