Escolar Documentos
Profissional Documentos
Cultura Documentos
OBJETOS
Dilvan Moreira
(baseado no livro Prog. Orientada a Objetos em Java)
Lembrando: Estrutura de classe básica
slide 2
tipo de
modificador retorno
de visibilidade nome do método
lista de
public int getPrice() parâmetro
{ (vazia)
return price; instrução
} de retorno
Um mostrador
de quatro dígitos?
Ou mostradores de
dois dígitos?
Modularização: Relógio digital
Mostrador de dois dígitos
com limite. No caso das
horas, o limite é entre “0”
até “23”. No caso dos
minutos, o limite é entre
“0” até “59”
Nível de
Mostrador de dois dígitos
Abstração para hora e outro para
maior minutos
Mostrador
de quatro dígitos
Modularização: Relógio digital
Mostrador de dois dígitos
Mostrador com com limite. No caso das
maior nível de horas, o limite é entre “0”
abstração. até “23”. No caso dos
minutos, o limite é entre
“0” até “59”
Construtores e
métodos omitidos.
}
Modularização: Relógio digital
Implementação – ClockDisplay
A classe “ClockDisplay” é nosso relógio.
Está composto por dois objetos da classe “NumberDisplay”. Um deles
para mostrar a hora e outro para mostrar os minutos.
Construtores e
métodos omitidos.
}
Tipo de objeto versus tipo
primitivo
A classe “ClockDisplay” armazena dois objetos de tipo
“NumberDisplay”.
Assim, existe um relacionamento entre a classe “ClockDisplay” e
“NumberDisplay”
A classe “NumberDisplay” define um tipo.
Construtores e
métodos omitidos.
}
Diagrama de Objetos
Mostra os objetos e seus relacionamentos em um
momento no tempo durante a execução de uma
aplicação.
Fornece as informações sobre objetos em tempo de
execução.
Apresenta a visualização dinâmica de um
programa.
Diagrama de Objetos
Diagrama de Classes
int a;
int b;
a = 32;
b = a;
a = a + 1;
System.out.println(b);
Person a;
Person b;
a = new Person("Everett");
b = a;
a.changeName("Delmar");
System.out.println( b.getName());
ObjectType a; ObjectType b;
b = a;
int a; int b;
32 32
Referência de Objeto
As variáveis de tipos de objeto armazenam
referências de objetos.
Em outras palavras, quando uma variável armazena
um objeto, o objeto não é armazenado na variável
diretamente.
Em vez disso, uma referência de objeto é
armazenada na variável.
Código-fonte: NumberDisplay
public ClockDisplay()
{
hours = new NumberDisplay(24);
minutes = new NumberDisplay(60);
updateDisplay();
}
}
Diagrama de objeto ClockDisplay
null
null é um valor especial em Java.
Todas as variáveis de objeto são inicializadas
como null.
Você pode atribuir e testar a existência de null:
private NumberDisplay hours;
hours = null;
Objetos que criam objetos
na classe NumberDisplay:
public NumberDisplay(int rollOverLimit);
parâmetro formal
na classe ClockDisplay:
hours = new NumberDisplay(24);
parâmetro real
Chamadas de método externo
A instrução “minutes.increment()” chama o
método increment do objeto minutes.
/**
* Atualiza a string interna que
representa o mostrador.
*/
private void updateDisplay()
{
displayString =
hours.getDisplayValue() + ":" +
minutes.getDisplayValue();
}
Método interno