oo com java

15
OO com Java Luiz Carlos d´Oleron Roteiro de aula

Upload: benito

Post on 15-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

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? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: OO com Java

OO com Java

Luiz Carlos d´Oleron

Roteiro de aula

Page 2: OO com Java

Roteiro

• Pacotes

• Modificadores

• Utilizando– Encapsulamento– Herança– Polimorfismo

Page 3: OO com Java

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

Page 4: OO com Java

Pacotes

• Definem o nome completamente qualificado de uma classe

• Ex:

umPacote.Exemplo1Exemplo1São classes distintas

Page 5: OO com Java

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>;

Page 6: OO com Java

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

Page 7: OO com Java

Risco de acessar diretamente atributo não privado

Page 8: OO com Java

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

Page 9: OO com Java

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

Page 10: OO com Java

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

Page 11: OO com Java

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

USB control

0Ligar

Desligar

Page 12: OO com Java

Usando o extends para herança

Page 13: OO com Java

Polimorfismo

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

Page 14: OO com Java

Exercício – montar a hierarquia de classes a seguir

Page 15: OO com Java

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());