aula06-caso pratico poo - static.eventials.com · exercício"1 defina classese/ou...
TRANSCRIPT
3Professora : Edhelmira Lima
Exercício 1Defina classes e/ou interfaces que modelem objetos geométricos. Os objetos geométricos são: retângulo, caixa, círculo e cilindro. Crie classes para estes objetos de forma a aproveitar ao máximo suas características comuns. Nestas classes, crie construtores parametrizados, os quais devem ser utilizados para inicialização dos atributos dos objetos. Para cada objeto, crie métodos para obter seu perímetro (figuras 2D), sua área (externa, no caso das 3D) e volume (figuras 3D).
üRetângulo: Área = largura*comprimento, Perímetro = 2*largura + 2*comprimento
üCaixa: Volume = largura * comprimento *altura, Área = 2*(largura * comprimento + comprimento*altura + largura*altura)
üCírculo: Área = pi*(raio)2, Perímetro = 2*pi*raioüCilindro: Volume = pi*(raio)2*altura, Área = 2*pi*(raio)2 + 2*pi*raio*altura
- Implementar um método mostrar para cada classe- Criar uma classe para testar as funcionalidades acima
4Professora : Edhelmira Lima
Exercício 1Defina classes e/ou interfaces que modelem objetos geométricos. Os objetos geométricos são: retângulo, caixa, círculo e cilindro. Crie classes para estes objetos de forma a aproveitar ao máximo suas características comuns. Nestas classes, crie construtores parametrizados, os quais devem ser utilizados para inicialização dos atributos dos objetos. Para cada objeto, crie métodos para obter seu perímetro (figuras 2D), sua área (externa, no caso das 3D) e volume (figuras 3D).
üRetângulo: Área = largura*comprimento, Perímetro = 2*largura + 2*comprimento
üCaixa: Volume = largura * comprimento *altura, Área = 2*(largura * comprimento + comprimento*altura + largura*altura)
üCírculo: Área = pi*(raio)2, Perímetro = 2*pi*raioüCilindro: Volume = pi*(raio)2*altura, Área = 2*pi*(raio)2 + 2*pi*raio*altura
- Implementar um método mostrar para cada classe- Criar uma classe para testar as funcionalidades acima
12Professora : Edhelmira Lima
Criar Interface
Uma interface permite definir um conjunto de métodos públicos e obriga a um determinado grupo de classes a ter métodos ou propriedades em comum
17Professora : Edhelmira Lima
Classe Circulo
O Protected é um modificador de acesso e o utilizamos para garantir que o atributo seja só acessível dentro da classe, nas classes
descendentes e nas classes do mesmo pacote
Encapsulamento
18Professora : Edhelmira Lima
Classe Circulo
Os construtores servem para especificar como os objetos serão criados, ex. inicialização
19Professora : Edhelmira Lima
Classe Circulo
Os métodos Get e Setpermitem recuperar e alterar um atributo respectivamente
20Professora : Edhelmira Lima
Classe Circulo
A única forma de acessar a um atributo deve ser mediante os métodos Getter e Setter isto para garantir o encapsulamento
23Professora : Edhelmira Lima
Classe CaixaHerança
Uma anotação “Override” serve para especificar que estamos sobre-‐escrevendoo método calcular área do pai
27Professora : Edhelmira Lima
Classe Teste
Instanciamos objetos das classes circulo, retângulo,
caixa e cilindro
29Professora : Edhelmira Lima
Classe Teste
Imprime os métodos definidos nas classes (área e perímetro)
32Professora : Edhelmira Lima
Exercício 2
Crie a classe Contato com atributos nome, email e telefone, depois crie a classe Agenda contendo uma lista de contatos e implemente os métodos para:
ü Adicionar contatosü Procurar por um contato (dado o nome, recuperar o telefone e email)ü Remover contatoü Listar todos os contatos
33Professora : Edhelmira Lima
Exercício 2
Crie a classe Contato com atributos nome, email e telefone, depois crie a classe Agenda contendo uma lista de contatos e implemente os métodos para:
ü Adicionar contatosü Procurar por um contato (dado o nome, recuperar o telefone e email)ü Remover contatoü Listar todos os contatos
38Professora : Edhelmira Lima
Uma anotação “Override” serve para especificar que estamos sobrescrevendo o método calcular área do pai
39Professora : Edhelmira Lima
Exercício 2
Crie a classe Contato com atributos nome, email e telefone, depois crie a classe Agenda contendo uma lista de contatos e implemente os métodos para:
ü Adicionar contatosü Procurar por um contato (dado o nome, recuperar o telefone e email)ü Remover contatoü Listar todos os contatos
41Professora : Edhelmira Lima
Classe ArrayList - Métodos-‐ boolean add(Object element)è Adiciona o elemento especificado no final da lista.-‐ void add(int index, Object element)è Insere o elemento especificado na posição indicada da lista.
-‐ void clear()è Remove todos os elementos da lista.-‐ boolean contains(Object element)è Retorna verdadeiro se a lista contém o elemento especificado e falso caso contrário.
-‐ Object get(int index) è Retorna o i-‐ésimo elemento da lista.-‐ int indexOf(Object element)è Retorna a posição da primeira ocorrência do elemento especificado na lista.
-‐ boolean isEmpty()è Retorna verdadeiro se a lista estiver vazia e falso caso contrário.-‐ int lastIndexOf(Object element)è Retorna a posição da última ocorrência do elemento especificado na lista.
-‐ Object remove(int index)è Remove o i-‐ésimo elemento da lista.-‐ Object set(int index, Object element)è Substitui o i-‐ésimo elemento da lista pelo elemento especificado.
-‐ int size()è Retorna o número de elementos da lista.
45Professora : Edhelmira Lima
Classe Agenda
Adicionamos um novo contato mediante o método add da Classe ArrayList
46Professora : Edhelmira Lima
Classe Agenda
Para cada contato que está na Lista Contato imprimimos o contato atual
47Professora : Edhelmira Lima
Classe Agenda
Para buscar um contato passamos como parâmetro o nome do contato
49Professora : Edhelmira Lima
Classe Agenda
A cada iteração recuperamos o i-‐esimocontato com o método get
50Professora : Edhelmira Lima
Classe Agenda
Comparamos mediante o método equals o nome procurado com o nome do i-‐esimo contato
51Professora : Edhelmira Lima
Classe Agenda
Se são iguais retornamos o contato atual “c”, senão achar sai do lopp
52Professora : Edhelmira Lima
Classe Agenda
Mediante o método “remove” da classe ArrayListremovemos o contato que foi previamente procurado
53Professora : Edhelmira Lima
Exercício 2
Crie a classe Contato com atributos nome, email e telefone, depois crie a classe Agenda contendo uma lista de contatos e implemente os métodos para:
ü Adicionar contatosü Procurar por um contato (dado o nome, recuperar o telefone e email)ü Remover contatoü Listar todos os contatos
55Professora : Edhelmira Lima
Classe Teste
Instanciamos quatro objetos da classe contato, cada um com dados diferentes
56Professora : Edhelmira Lima
Classe Teste
Instanciamos um objeto agenda que criará um ArrayList vazia
59Professora : Edhelmira Lima
Exercício 2
Crie a classe Contato com atributos nome, email e telefone, depois crie a classe Agenda contendo uma lista de contatos e implemente os métodos para:
ü Adicionar contatosü Procurar por um contato (dado o nome, recuperar o telefone e email)ü Remover contatoü Listar todos os contatos
62Professora : Edhelmira Lima
Exercício 2
Crie a classe Contato com atributos nome, email e telefone, depois crie a classe Agenda contendo uma lista de contatos e implemente os métodos para:
ü Adicionar contatosü Procurar por um contato (dado o nome, recuperar o telefone e email)ü Remover contatoü Listar todos os contatos