Eu estava tentando criar classes de funcionários sem usar herança e gostaria de saber se é assim mesmo.
Eu iria fazer uma classe Funcionário (Abstrata) , apenas com atributos : nome, endereço , salario , cpf, com getters e setters mas sem nenhum método.
Depois criaria uma classe Gerente que implementaria uma interface com os métodos respectivos e passaria a classe funcionário como referência na classe Gerente.
Depois sairia criando as outras classes : Diretor , Presidente e quando criasse a classe Auxilar de Produção por exemplo , eu criaria uma outra interface por que ela tem métodos diferentes.
Resumindo : Para não usar herança , tem que abusar entre "", bastante da passagem por referencia e criar interfaces que implemente as classes que tiverem aqueles métodos em comum e quando não tiverem criar uma nova interface ?
Claro que, acredito que cada caso é um caso, mas usando os exercícios da classe funcionário passados ao longo do curso, meu raciocínio para não usar herança , está bem aplicado ou teria outra forma melhor ?