Buscar

NotaDeAula-05

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Programação Orientada a Objetos
(Cód. ES006 / Sem. 2011-2 )
Universidade Federal do Ceará – UFC
Campus de Quixadá
Engenharia de Software
Prof. Lincoln Souza Rocha 
(lincolnrocha@ufc.br)
INTERAÇÃO ENTRE 
OBJETOS
Lincoln Souza Rocha (POO - 2011.2) 2
Conceitos Abordados
• Abstração
• Modularização
• Criação de Objeto
• Diagramas de Objeto
• Chamadas de Método
• Depuradores
Lincoln Souza Rocha (POO - 2011.2) 3
Índice
• Relógio Digital
• Abstração e Modualrização
• Modularização no Exemplo do Relógio
• Implementando o Display do Relógio
• Diagrama de Classes versus de Objetos
• Tipos Primitivos e Tipos Objetos
• Código Fonte: NumberDisplay
• Objetos que criam Objetos
• Múltiplos Construtores
• Chamadas de Método
Lincoln Souza Rocha (POO - 2011.2) 4
Relógio Digital
Lincoln Souza Rocha (POO - 2011.2) 5
Abstração e Modularização
• Abstração é a habilidade de ignorar 
detalhes sobre as partes para 
concentrar a atenção no nível mais alto 
de um problema
• Modularização é o processo de dividir 
um todo em partes bem definidas, que 
podem ser construídas e examinadas 
separadamente e que interagem de uma 
maneira bem definida
Lincoln Souza Rocha (POO - 2011.2) 6
Modularização no Relógio
Lincoln Souza Rocha (POO - 2011.2) 7
Um mostrador de número
de quatro dígitos?
Ou um mostrador de
número de dois dígitos?
Implementando o Display do 
Relógio: classe NumberDisplay
Lincoln Souza Rocha (POO - 2011.2) 8
public class NumberDisplay{
private int limit;
private int value;
Construtor e
métodos omitidos.
}
Implementando o Display do 
Relógio: classe ClockDisplay
Lincoln Souza Rocha (POO - 2011.2) 9
public class ClockDisplay {
private NumberDisplay hours;
private NumberDisplay minutes;
Construtor e
métodos omitidos.
}
Diagrama de Objeto do 
ClockDisplay
Lincoln Souza Rocha (POO - 2011.2) 10
Diagrama de Classes do 
ClockDisplay
Lincoln Souza Rocha (POO - 2011.2) 11
Tipos Primitivos e Tipos Objetos
Lincoln Souza Rocha (POO - 2011.2) 12
32
Tipo Objeto
Tipo Primitivo
AlgumObjeto obj;
int i;
Tipos Primitivos e Tipos Objetos
Lincoln Souza Rocha (POO - 2011.2) 13
32
AlgumObjeto a;
int a;
AlgumObjeto b;
32
int b;
b = a;
Código Fonte: NumberDisplay
Lincoln Souza Rocha (POO - 2011.2) 14
public NumberDisplay(int rollOverLimit){
limit = rollOverLimit;
value = 0;
}
public void increment(){
value = (value + 1) % limit;
}
Código Fonte: NumberDisplay
Lincoln Souza Rocha (POO - 2011.2) 15
public String getDisplayValue(){
if(value < 10)
return "0" + value;
else
return "" + value;
}
Objetos Criando Objetos
Lincoln Souza Rocha (POO - 2011.2) 16
public class ClockDisplay {
private NumberDisplay hours;
private NumberDisplay minutes;
private String displayString; 
public ClockDisplay() {
hours = new NumberDisplay(24);
minutes = new NumberDisplay(60);
updateDisplay();
}
}
Objetos Criando Objetos
• Na classe NumberDisplay
• Na classe ClockDisplay
Lincoln Souza Rocha (POO - 2011.2) 17
public NumberDisplay(int rollOverLimit); 
Parâmetro Formal
hours = new NumberDisplay(24); 
Parâmetro Real
Múltiplos Construtores
Lincoln Souza Rocha (POO - 2011.2) 18
new ClockDisplay();
new ClockDisplay(hour, minute);
• Sobrecarga
– Uma classe pode conter mais de um 
construtor ou mais de um método com o 
mesmo nome. Porém eles devem possuir uma 
assinatura diferente
Chamadas de Método
Lincoln Souza Rocha (POO - 2011.2) 19
public void timeTick() {
minutes.increment();
if(minutes.getValue() == 0) { 
// acaba de voltar a zero!
hours.increment();
}
updateDisplay();
}
Método externo
Método interno
Forma padrão: objeto.nomeDoMétodo( lista-de-parâmetros )
Depurador
Lincoln Souza Rocha (POO - 2011.2) 20
Depurador
Lincoln Souza Rocha (POO - 2011.2) 21
Depurador
Lincoln Souza Rocha (POO - 2011.2) 22
Programação Orientada a Objetos
(Cód. ES006 / Sem. 2011-2 )
Universidade Federal do Ceará – UFC
Campus de Quixadá
Engenharia de Software
Prof. Lincoln Souza Rocha 
(lincolnrocha@ufc.br)

Outros materiais