oo com java

Post on 15-Jan-2016

28 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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?

• Usamos pacotes para agrupar classes de responsabilidades semelhantes

Pacotes

• Definem o nome completamente qualificado de uma classe

• Ex:

umPacote.Exemplo1Exemplo1São classes distintas

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

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

Risco de acessar diretamente atributo não privado

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

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

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

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

Usando o extends para herança

Polimorfismo

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

Exercício – montar a hierarquia de classes a seguir

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

top related