Baixe o app para aproveitar ainda mais
Prévia do material em texto
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.
Compartilhar