Prof. Marcelo Henrique dos Santos AULA 10 ENCAPSULAMENTO

Propaganda
AULA 10
ENCAPSULAMENTO
É um mecanismo que coloca junto o código (métodos) e os dados (atributos),
mantendo-os controlados em relação ao seu nível de acesso.
O conceito de encapsulamento está intimamente ligado ao conceito de ocultamento da
informação.
Portanto, podemos afirmar que encapsular significa, na orientação à objetos, separar um
programa em partes isolando-as o máximo possível, protegendo o acesso direto aos
atributos de uma classe com o objetivo de deixar o programa mais flexível e facilitar o
trabalho no código.
Para isso se faz necessário o uso de modificadores de acesso mais restritivos nos
atributos da classe.
Esses atributos são manipulados indiretamente com o uso de métodos específicos. O
padrão usado para a manipulação desses atributos são os métodos set (que define o
valor do atributo) e get (que retorna o valor do atributo).
PUBLIC
Deixa visível a classe ou membro para todas as outras classes, subclasses e pacotes do
projeto Java.
PRIVATE
Deixa o atributo visível apenas para a classe em que o mesmo se encontra.
PROTECTED
Deixa o atributo visível para todas as outras classes e subclasses que pertencem ao
mesmo pacote. Neste caso apenas as classes do mesmo pacote tem acesso ao membro,
enquanto nem mesmo pacotes de suas subclasses tem acesso.
DEFAULT (PADRÃO)
A classe e/ou seus membros são acessíveis somente por classes do mesmo pacote.
Um objeto encapsula estado (dados) e métodos (código) que podem acessar dados.
Ilustração do conceito de objeto:
Prof. Marcelo Henrique dos Santos
OBJETIVO:
Controlar o acesso de atributos e métodos de um objeto, através de uma interface bem
definida.
BENEFÍCIOS:
Manutenção de software;
Evolução de software;
VANTAGENS:
Proteger os atributos do objeto quanto à manipulação por outros objetos (proteção
contra acesso não autorizado, valores inconsistentes, entre outras possibilidades).
Esconder a estrutura interna do objeto de modo que a interação com este objeto seja
relativamente simples e, à medida do possível, siga um padrão de desenvolvimento que
facilite o entendimento dos programadores que o utilizem.
SINTAXE DOS MODERADORES DE ACESSO
Prof. Marcelo Henrique dos Santos
ATIVIDADE – ENCAPSULAMENTO
01 – Crie uma classe em Java que:
a) Contenha os atributos nome, idade e altura;
b) Encapsule os atributos;
c) Crie um método main que mostre os valores que estão nos atributos.
Prof. Marcelo Henrique dos Santos
02 – Quais são as restrições impostas pelos comandos public, protected e private em
Java?
03 – O método main de uma classe deve, obrigatoriamente, usar o modificador public?
Justifique a sua resposta.
04 – Dada a classe abaixo, faça as modificações necessárias para encapsular os
atributos.
public class ContaBancaria {
public String correntista;
public float saldo;
}
05 – Considere o Código abaixo e responda às seguintes questões:
a) A classe Tempo segue os princípios do encapsulamento?
Comente a respeito.
b) Como é possível estender o código para atender aos princípios
do encapsulamento? Quais seriam as vantagens que isto
traria? Faça as modificações necessárias no código.
-------------------------------------------------------------------------------------------------------class Tempo {
int hora;
int minuto;
Tempo() {
};
Prof. Marcelo Henrique dos Santos
public static void main(String arg[]) {
Tempo t = new Tempo();
t.hora = 3;
t.minuto = 25;
System.out.println("A hora agora é " + t.hora + ":" + t.minuto);
}
}
--------------------------------------------------------------------------------
Prof. Marcelo Henrique dos Santos
Download