Relacionamentos em java
Os relacionamentos que duas ou mais classes podem ter são:
• Dependência
• Generalização
• Associação
Se desejarmos desmontar um automóvel, por exemplo, verificaremos que ele é formado por peças que apresentam relações muito definidas. O automóvel possui: motor, rodas, banco, volante e diversas outras engrenagens. Esses elementos, associados ou conectados de maneira correta, permitem a existência e o correto funcionamento do automóvel.
São alguns exemplos de relacionamento entre as peças com compõe um automóvel:
• Dependência: Motor depende de Bomba de Gasolina para bombear a gasolina para o seu interior.
• Generalização: Filtro de Ar, Filtro de Óleo e Filtro de Combustível são tipos específicos de Filtro.
• Associação: Pneus, Rodas, Amortecedores e Freios compõe a Suspensão do Automóvel.
O Relacionamento de Dependência ( “ precisa de ” )
Duas classes possuem um relacionamento de Dependência quando uma alteração em uma dessas classes poder afetar a outra classe. O inverso não é verdade. Nesse contexto, diz-se que uma classe utiliza a outra como argumento em sua assinatura.
Representa-se uma relação de Dependência apontando de uma classe que possui um método ou operação para a classe que é utilizada como um parâmetro para essa operação.
O relacionamento de Dependência é caracterizado quando uma operação precisa de uma outra classe para ser executada. O seu significado semântico é “precisa de”.
O Relacionamento de Generalização ( “ é um tipo de ” )
Duas classes possuem um relacionamento de Generalização quando uma das classes especializa ou detalha a outra. A classe genérica é denominada de SuperClasse ou Classe Pai e a outra classe de SubClasse ou classe Filha.
O Relacionamento de Associação
Uma Associação é uma relação estrutural. Ou seja, ela informa que uma classe faz parte da estrutura de outra. Por exemplo: o Motor faz parte da classe Automóvel, um empregado está associado a uma empresa ou um músico