Relacionamentos em Java
Nossos objetivos nesta aula são:
Iniciar o estudo de relacionamento/dependências entre classes através de coleções de objetos
Mapear coleções de objetos em vetores simples de Java e via Java Collections
Aprender a comparar objetos
Iniciar o estudo, em laboratório, dos mecanismos de I/O da
Linguagem Java
Continuar a praticar com desenvolvimento orientado a testes (TDD-Test Driven Development)
A referência para esta aula é: Capítulo 5 – Seção 5.2.4
(Comparando Objetos), Capítulo 12 Seção 2.3 (Relacionamentos entre Classes) e Capítulo 7 (Arrays e Listas de Arrays) do nosso livro-texto: Horstmann, C. Conceitos de Computação com Java. 5.ed. Porto
Alegre: Bookman, 2009.
Não deixem de ler estse capítulso após a aula de hoje!
RELACIONAMENTOS e DEPENDÊNCIAS ENTRE CLASSES
Até o presente momento, trabalhamos somente com uma classe BankAccount. Porém, para sistemas mais complexos, várias classes podem ser necessárias para representá-los corretamente.
Quando várias classes representam um sistema e interagem entre si, podemos ter relacionamentos ou dependências, ou ambos, entre estas classes.
Um relacionamento de uma classe A para uma classe B ocorre quando, na definição da parte estrutural da classe A for necessária a definição da classe B.
Por exemplo, vamos considerar novamente parte da definição estrutural da classe
BankAccount, onde temos um número de conta, uma senha, nome do correntista e saldo da conta:
1
class BankAccount{ private int accountNumber; // número da conta private String password;
// senha da conta private String owner;
// proprietário da conta private double balance;
//
...
}
Para que a classe BankAccount pudesse ser definida estruturalmente, foi necessária a classe String. Neste contexto, temos dois relacionamentos direcionados de
BankAccount para String (um para senha e outro para nome).