Академический Документы
Профессиональный Документы
Культура Документы
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
Classes, Atributos e Métodos Uma classe é um objecto especial que serve de molde ou padrão para a
criação de objectos similares designados por instâncias da classe. Estes
objectos possuem a mesma estrutura interna (atributos) e a mesma interface
Modificadores de acesso (visibilidade)
( ) (respondem às mesmas mensagens),
mensagens) pelo que possuem igual
comportamento.
Sobrecarga de métodos (method overloading)
Uma classe é composta por:
Variáveis e métodos de classe
– Identificador que indica o nome da classe.
Ciclo de vida de um objecto – Atributos (ou variáveis de instância), ié, valores que cada objecto contém e
cujos domínios podem ser de:
• Tipos
Ti primitivos
i iti :inteiros,
i t i reais,
i caracteres,…
t
1
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
– valor de retorno.
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 5 Página 5
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 6 Página 6
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
Atributos
Métodos
– watts: numérico de tipo inteiro que guarda os watts da lâmpada
Construtores
– estado: um booleano que indicará se a lâmpada está acesa (true) ou
Modificadores
apagada (false).
Selectores
2
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
Exemplo Exemplo
Métodos Métodos
– Construtores – Selectores
» Lampada (parâmetro: watts): método que cria um objecto do » getWatts():inteiro: método que retorna o número de watts de
tipo Lampada com um determinado número de watts e apagada um objecto do tipo Lampada.
» Lampada (parâmetro: watts, parâmetro: estado): método que » getEstado():booleano: método que retorna o estado actual de
cria um objecto do tipo Lampada com um determinado número um objecto do tipo Lampada..
de watts e estado.
estado
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
Exemplo Exemplo
Métodos Métodos
– Selectores – Modificadores
» getWatts():inteiro: método que retorna o número de watts de » acende(): método que acende uma lâmpada que esteja
um objecto do tipo Lampada. apagada
» apaga(): método que apaga uma lâmpada que esteja acesa
» getEstado():booleano: método que retorna o estado actual de
um objecto do tipo Lampada. OBS:
– O método setEstado(parâmetro: estado) não é implementado porque não
explicita de modo suficientemente claro o tipo de acção pretendida.
pretendida
OBS: O método getEstado() pode, ainda, ser substituído por dois outros métodos: – O método setWatts(parâmetro: watts) não é implementado porque não
deverá ser possível alterar os watts de uma lâmpada após a sua criação.
estaAcesa():booleano que verifica se a lâmpada está acesa
– Os métodos acende() e apaga() poderiam ainda retornar um booleano a
estaApagada():booleano que verifica se a lâmpada está apagada
confirmar a execução, ou não da acção pretendida.
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 11Página 11 Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 12Página 12
3
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 13Página 13 Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 14Página 14
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
– Uma classe declarada como public poderá ser acedida dentro e fora
do package a que pertence.
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 15Página 15 Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 16Página 16
4
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 17Página 17 Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 18Página 18
5
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 21Página 21 Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 22Página 22
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
– Quer as variáveis, quer os métodos de classe diferenciam-se dos de – Assim, contaLampadas não caracteriza nenhuma lâmpada em
instância pela inclusão do qualificador static. particular, logo não é uma variável de instância, mas de classe.
private static void incrementa () { //método de classe Que alterações seria necessário efectuar na classe Lampada?
++contador; }
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 23Página 23 Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 24Página 24
6
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 25Página 25 Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 26Página 26
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
– Uma declaração
ç não cria novos objectos.
j
Exemplo:
p
Pessoa p; null
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 27Página 27 Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 28Página 28
7
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
Pessoa p2 = p1
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 29Página 29 Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 30Página 30
Departamento de Matemática 2. Classes, Atributos e Métodos Departamento de Matemática 2. Classes, Atributos e Métodos
Utilização Remoção
System.gc();
System.gc ();
Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 31Página 31 Docente: Paulo Leocádio E-mail: pleocadio@uac.pt 32Página 32