[quote=drsmachado]Aí depende o tipo de estrutura que você está planejando trabalhar.
Sabe a história do é um e do tem um? Então, é em situações assim que essa história faz mais sentido.
Vejamos.
Se você estender Professor de pessoa, logo, todo objeto de Professor, será, também, filho de Pessoa.
Uma pessoa, sabe-se, pode ser várias “coisas” diferentes, pode ser aluno, professor, músico, médico, engenheiro e político, sem que um interfira no outro.
No teu caso, em específico, eu faria uso da composição, tanto para a classe Professor, quanto para a aluno.
Explico.
É possível controlar instâncias de objetos, utilizando o pattern singleton, logo, você pode controlar quantos objetos de Pessoa existem na execução do teu programa.
Assim sendo, se existe uma pessoa, que é um atributo de um objeto da classe Professor, você consegue identificar e então, fazer com que esta pessoa seja associada ao objeto de Aluno, ao qual ele se refere.
Como assim?
Como professor e aluno, ambos, possuirão um atributo pessoa, objeto da classe Pessoa, uma simples análise no hashset deste já resolve.[/quote]
Então ficaria mais ou menos como a imagem em anexo? Desculpe por certa ignorancia na hora da interpretação de sua resposta pois não possuo muita facilidade de absorção de certas informações mas me esforço para isso. xD
Como eu tenho que fazer um diagrama de classes e procurei sobre implementações de associações reflexivas eu não achei muita coisa, espero estar certo. E sobre o uso de Design Patterns ainda estou começando a ver como se implementa, mas ao final eu entendi o que vc quis dizer.
