A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Laboratório I Mateus Raeder. Mateus Raeder – fevereiro de 2009 Associação entre classes  Um objeto é a representação de uma entidade do mundo real 

Apresentações semelhantes


Apresentação em tema: "Laboratório I Mateus Raeder. Mateus Raeder – fevereiro de 2009 Associação entre classes  Um objeto é a representação de uma entidade do mundo real "— Transcrição da apresentação:

1 Laboratório I Mateus Raeder

2 Mateus Raeder – fevereiro de 2009 Associação entre classes  Um objeto é a representação de uma entidade do mundo real  Instanciar é criar um novo objeto  Por exemplo, Floribela é uma instância da classe Pessoa  No BlueJ, como criamos uma instância de uma classe?  O que aparece no BlueJ na classe Dado(int nlados)?  Estamos dizendo para o Java: crie um novo objeto da classe Dado clicando com o direito na classe e escolhendo new... new Dado(int nlados) Logo, um novo objeto é criado com a palavra reservada new

3 Mateus Raeder – fevereiro de 2009 Associação entre classes  Objetos diferentes podem se conhecer, podem conversar uns com os outros  Mas como objetos podem conversar?  Imagine 2 pessoas. Para elas conversarem, eles devem se conhecer antes. Logo, para dois objetos conversarem, eles devem se conhecer  Vamos imaginar, então, que a Floribela quer jogar o dado  Dois objetos diferentes, de duas classes diferentes  A classe Dado possui um método que chama-se jogaDado()

4 Mateus Raeder – fevereiro de 2009 Associação entre classes  Mas como a Floribela pode acessar este método?  Somente quando ela conhecer o objeto dado, ou seja, quando ela tiver uma instância da classe Dado  Assim, vamos poder dizer que uma pessoa tem um dado

5 Mateus Raeder – fevereiro de 2009 Associação entre classes  Mais do que isso, uma Pessoa (classe) tem um atributo do tipo Dado (classe), e este atributo (um objeto) deve ser declarado e inicializado  Logo, na classe Pessoa teremos: public class Pessoa { private String nome;... private Dado meuDado;... } Declaração de uma instância da classe Dado, associando a classe Dado à classe Pessoa

6 Mateus Raeder – fevereiro de 2009 Associação entre classes  Para que este atributo se torne utilizável, devemos inicializá-lo, informando ao Java que trata-se de um novo objeto  Assim, devemos utilizar o new, conforme dito anteriormente  No construtor de Pessoa, teremos então: public Pessoa() {... meuDado = new Dado(6);... } Construtor da classe Dado pede o número de lados!! Inicialização do objeto

7 Mateus Raeder – fevereiro de 2009 Associação entre classes  Como o atributo meuDado já foi inicializado, e trata-se de um objeto da classe Dado, ele possui todos os atributos e métodos desta classe  A pessoa então, pode acessar todos estes métodos e atributos de um objeto dado. A pessoa tem um dado e pode jogá-lo.  Como este acesso é realizado? Através do operador. (ponto) public Pessoa() { meuDado = new Dado(6); meuDado.jogaDado(); } Significa que quero acessar (executar) o método chamado jogaDado() do objeto meuDado

8 Mateus Raeder – fevereiro de 2009 Associação entre classes  Uma pessoa não precisa ter necessariamente 1 dado public class Pessoa { private Dado meuDado1; private Dado meuDado2; private Dado meuDado3;... public Pessoa(...) { meuDado1 = new Dado(6); //cria um dado de 6 lados meuDado2 = new Dado(13); //cria um dado de 13 lados meuDado3 = new Dado(6); //cria outro dado de 6 lados... }

9 Mateus Raeder – fevereiro de 2009 Associação entre classes public Pessoa(...) { meudado1 = new Dado(6); //cria um dado de 6 lados meudado2 = new Dado(13); //cria um dado de 13 lados meudado3 = new Dado(6); //cria outro dado de 6 lados... } public void jogarDados() { meuDado1.jogaDado(); meuDado2.jogaDado(); meuDado3.jogaDado(); }  A pessoa então, pode jogar os dados de acordo com sua vontade

10 Mateus Raeder – fevereiro de 2009 Associação entre classes  O diagrama UML ilustra o relacionamento entre as classes da seguinte maneira: Pessoa atributos métodos Dado atributos métodos O objeto da classe Pessoa conhece o objeto da classe Dado, mas o contrário não é verdade

11 Mateus Raeder – fevereiro de 2009 Associação dentre classes  Uma associação é um relacionamento estrutural entre duas classes, significando que os objetos de uma classe estão ligados aos objetos de outra  O objeto pessoa está ligado ao objeto dado nome sexo meuDado Pessoa Floribela F lados Dado 6

12 Mateus Raeder – fevereiro de 2009 Associação entre classes  Exercícios:  1 – crie a classe Endereco  Esta classe possui o nome da rua, um número na rua, uma cidade, um estado, um CEP e um bairro  Quando um endereço é criado, deve ser informado o nome da rua, o número na rua e a cidade  Crie os métodos de acesso da classe (getters e setters)  2 - Crie a classe Data  Esta classe possui um dia, um mês e um ano  Ao criar uma data, todos os atributos devem ser informados (dia, mês e ano)  Crie os métodos de acesso da classe (getters e setters)

13 Mateus Raeder – fevereiro de 2009 Associação entre classes  3 – Crie a classe Dado, conforme já definida em aula nos slides anteriores  4 – Crie a classe Pessoa  Esta classe possui um nome, um sexo, uma data de nascimento (do tipo Data), um endereço (do tipo Endereco) e dois dados (um de 6 e um de 3 lados)  Pense no método construtor da classe Pessoa, e analise os parâmetros de entrada deste método  Crie os métodos de acesso da classe (getters e setters). Pense nos tipos de retorno dos métodos get e nos parâmetros de entrada dos métodos set


Carregar ppt "Laboratório I Mateus Raeder. Mateus Raeder – fevereiro de 2009 Associação entre classes  Um objeto é a representação de uma entidade do mundo real "

Apresentações semelhantes


Anúncios Google