1 / 15

OO com Java

OO com Java. Luiz Carlos d´Oleron Roteiro de aula. Roteiro. Pacotes Modificadores Utilizando Encapsulamento Herança Polimorfismo. Pacotes. O que se faz quando existem milhares de classes em um projeto? O que se faz quando existem duas classes com o mesmo nome em um projeto?

benito
Download Presentation

OO com Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OO com Java Luiz Carlos d´Oleron Roteiro de aula

  2. Roteiro • Pacotes • Modificadores • Utilizando • Encapsulamento • Herança • Polimorfismo

  3. Pacotes • O que se faz quando existem milhares de classes em um projeto? • O que se faz quando existem duas classes com o mesmo nome em um projeto? • Usamos pacotes para agrupar classes de responsabilidades semelhantes

  4. Pacotes • Definem o nome completamente qualificado de uma classe • Ex: umPacote.Exemplo1 Exemplo1 São classes distintas

  5. Definindo e usando pacotes • Para declarar que uma classe está em um pacote: package <nomeDoPacote>; • Para usar numa classe uma outra classe de outro pacote import<nomeDoPacote >.<nomeDaClasse>;

  6. Modificadores de visibilidade • Encapsulamento é o modo como se esconde os detalhes de implementação de um componente (um objeto) • Usamos 3 modificadores: public, protected e private • Eles podem ser utilizados com classes, atributos e métodos

  7. Risco de acessar diretamente atributo não privado

  8. Usando private: Compilador proíbe acesso ao atributo não público:The field ControleDoMotor.potencia is not visible

  9. O que ocorre se não colocar nem public nem private? • O atributo, classe ou método só será visível pelas classes que estiverem no mesmo pacote • Por isso, normalmente colocamos os atributos private e os métodos public

  10. Herança • Mecanismo pelo qual é possível escrever uma classe a partir de outra • Herdando seus atributos • Favorece sistemas mais robustos e simples de fazer

  11. Exemplo de Herança Vamos extender o controle de avião que fizemos antes com novas coisas Controle de motor de avião Potência máxima : 100 (igual) Potência mínima : 0 (igual) Recebe sinal de 32 bits via USB permitindo controle externo da potência do motor (igual) Possui uma chave liga-desliga (nova coisa) Só pode aumentar ou baixar a potência se estiver ligado Potência Mais Potência Menos Potência 0 Ligar USB control Desligar

  12. Usando o extends para herança

  13. Polimorfismo Qual deve ser a saída esperada para a execução do software a seguir?

  14. Exercício – montar a hierarquia de classes a seguir

  15. Criar uma classe com um método main e o seguinte código Expressao x = new ExpressaoAtomica(‘x’); Expressao y = new ExpressaoAtomica(‘y’); Expressao negY = new Negacao(y); Expressao ou = new ExpressaoOU(x, negY); String e = ou.representacao(); System.out.println(“Altura de ” + e + “ : ” + ou.altura()); System.out.println (“Número de operadores de ” + e + “ : ” + ou.numeroOperadores());

More Related