Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
13/08/12
1
Programação Orientada a
Objetos - POO
Prof. Emerson Freire
POO – Conceitos
Mensagens
É possível que um classe solicite a execução de um método de
outra classe Mensagem.
Por exemplo:
O objeto Gerente deseja enviar um e-mail. O objeto email tem
um método para isso, chamado Enviar:
1: enviar(de: String, para String, assunto: String, mensagem: String) : void
Em Java:
gerenteVendas.Email.Enviar(“José”, “Maria”, “Secreto”, “Fala baixo..!);
gerenteVendas: Gerente email: Email
13/08/12
2
POO – Conceitos
Encapsulamento
O encapsulamento permite a restrição do acesso a atributos e a
métodos de classe:
Deixa os detalhes da implentação ocultos ao usuários da classe;
Torna o código POO mais legível.
O fabricante de uma classe pode fazer manutenções ou atualizá-la
sem que o usuário se dê conta.
Inibe o acesso direto aos atributos por meio dos modificadores de
acesso: ex. private e protected;
Permite validar valores a serem atribuídos a cada atributo.
Ex: Digamos que uma classe Funcionario possua o atributo
Salario. Este não pode ser maior R$ 50.000,00 nem menor do
que R$ 0,00. Se o atributo for definido como double e public, o
atributo pode receber esses valores diretamente. Utilizando
private, pode-se tratar via método essas restrições. Se os
valores estiverem na faixa correta armazena-se o salário, caso
contrário, não.
POO – Conceitos
Encapsulamento
Métodos públicos set e get:
Para cada atributo podem ser definidos um método público get e outro
set.
Padrão do Método set: armazenará no atributo o valor passado por
parâmetro:
public void setNomeDoAtributo (tipo_do_atributo NomeDoAtributo)
{!
!this.nomeDoAtributo = nomeDoAtributo;!
} !
!
Padrão do Método get: retornará o conteúdo atual armazenado no
atributo:
public void getNomeDoAtributo ()!
! {!
!return nomeDoAtributo;!
} !
!
13/08/12
3
POO – Conceitos
A palavra reservada this
A palavra reservada this faz referência ao objeto
corrente, ou seja, o objeto que chamou o método.
Por exemplo:
Se o objeto corrente que chamou o método chama-se
Blusa (da classe Produto) e se deseja acessar o atributo
preço, portanto:
this.preco é o mesmo que Blusa.preco;
POO – Conceitos
Construtores e Destrutores
Métodos construtores:
Permitem determinar o valor inicial da instância recém-criada;
Possuem obrigatoriamente o mesmo nome da classe;
Dependendo do problema, pode-se declarar para uma classe
qualquer de 0 a N construtores.
O método construtor é responsável por alocar espaço na memória
para os objeto e pode conter chamada para outros métodos, o que
possibilita a criação de objetos mais complexos.
Quando um objeto é criado por new sem a existência de um método
construtor, os atributos têm valores iniciais default:
Variáveis numéricas recebem zero, valores lógicos recebem false e
objetos null.
13/08/12
4
POO – Conceitos
Construtores e Destrutores
POO – Conceitos
Construtores e Destrutores
13/08/12
5
POO – Conceitos
Construtores e Destrutores
Métodos destrutores (finalizers):
Responsáveis por liberar os recursos usados pelos objetos;
A linguagem JAVA realiza esta tarefa de maneira automática, através
de um processo chamado coleta automática de lixo (automatic
garbage collection);
Portanto, não é necessário fazer a liberação de recursos
explicitamente como em outras linguagens.
Para forçar a execução do Garbage Collector, pode-se usar o método
finalize
void finalize(){!
//destrói recursos!
} !!
POO – Conceitos
Herança
Herança é quando uma classe herda características (atributos e
métodos) de outra classe (processo de especialização) :
Portanto, é uma técnica que permite o compartilhamento e
reaproveitamento de recursos definidos em outra classe
A classe que transmite as características é chamada de superclasse.
A classe que recebe-as é chamada subclasse.
Veículo
• Modelo
• Placa
• Ano fabricação
• Valor
Automóvel
• Lotação
Caminhão
• Capacidade
• NumeroEixos
Motocicleta
…
13/08/12
6
POO – Conceitos
Herança
O mecanismo de Herança é implementado em Java pela palavra
extends.
POO – Conceitos
Herança
13/08/12
7
JAVA – noções básicas
Exercício
Nas olimpíadas existem várias modalidades de esportes. Crie
uma superclasse chamada modalidade que terá como
subclasses: aquática, ginástica, atletismo, etc., cada qual com
suas características gerais, gerando outras subclasses, como por
exemplo: saltos ornamentais e natação para os aquáticos;
ginástica artística e ginástica olímpica; etc. Armazene os valores
dos recordes mundiais e olímpicos para as modalidades que
tenham tempo, distância ou peso como parâmetros.