Java: Encapsulamento e Modificadores de
AcessoMe. Arthur Emanuel de Oliveira Carosia
Conteúdo Encapsulamento Getters/Setters Construtor Modificadores de Acesso
◦ Public◦ Private◦ Protected
Static Pacotes
Ecapsulamento Esconder todos os atributos de uma classe,além de esconder como funcionam os métodosdo nosso sistema.
Encapsular é fundamental para que seu sistema seja suscetível a mudanças.
Uma regra de negócio se concentra em apenas um único lugar, já que essa regra
está encapsulada.
Encapsulamento Um objeto nunca deve manipular diretamente os atributos de outro objeto
Manipulação deve ser feita via métodos, que garante o encapsulamento
Para isso, normalmente declara-se os atributos de uma classe como privados ou protegidos.
Normalmente, métodos são declarados como públicos
Encapsulamento
Encapsulamento
Como retornar a idade do cliente utilizando um
método?
Como evitar que seja atribuído uma idade negativa
ao cliente?
Como atribuir uma idade ao cliente usando um método?
Caso haja a necessidade de se ter acessoa algum atributo, métodos devem ser
fornecidos para isso
Métodos que provêem acesso ao valor do atributo possuem GET no seu prefixo.
Métodos que modificam valores de atributos possuem SET no seu prefixo.
Getters e Setters
Como alterar o retorno do saldo para que seja levado em consideração o
limite da conta?
Implemente o método depositar
Como evitar que seja depositado valor negativo na conta?
Crie uma classe Principal que faça uso da classe Conta e use todos os seus
métodos.
Getters e Setters
Os construtores são usados para inicializar objetos de uma classe, dando aos atributos o estado inicial que se quer que os mesmos tenham
Um construtor:◦ Tem o mesmo nome da classe◦ Pode ter um ou mais parâmetros◦ Sempre é chamado através do comando new◦ Não retorna valor◦ Não podem ser explicitamente chamados como
um método da classe
Construtores
Construtores
Construtores
Public◦ Uma declaração com o modificador public pode ser acessada de qualquer
lugar e por qualquer entidade que possa visualizar a classe a que ela pertence.
Private◦ Os membros da classe definidos como não podem ser acessados ou
usados por nenhuma outra classe. Esse modificador não se aplica às classes, somente para seus métodos e atributos. Esses atributos e métodos também não podem ser visualizados pelas classes herdadas.
Protected◦ O modificador protected torna o membro acessível às classes do mesmo
pacote ou através de herança, seus membros herdados não são acessíveis a outras classes fora do pacote em que foram declarados.
default (padrão):◦ A classe e/ou seus membros são acessíveis somente por classes do
mesmo pacote, na sua declaração não é definido nenhum tipo de modificador, sendo este identificado pelo compilador.
Modificadores de Acesso
Nomeie a Classe Normalmente as classes são públicas Insira os atributos da classe Normalmente os atributos são privados Faça seus respectivos métodos Get e Set
para os atributos que necessitarem Crie os construtores da classe Implemente os métodos necessários
Construindo uma Classe
Escreva uma classe Circulo, que contenha:• raio inteiro e centro em inteiros x e y.• método que retorna a área• método que retorna a circunferência
Crie para cada atributo seus métodos get e set Crie o construtor sem parâmetro da classe círculo,
inicializando todos os valores como 0. Crie um construtor com 3 parâmetros, o raio, x e y.
Teste a classe em uma classe Principal.
Exercícios
Modele um funcionário. Ele deve ter o nome do funcionário, o departamento onde trabalha, seu salário (double), a data de entrada no banco (String) e seu RG (String).
Crie os métodos get e set para cada atributo e também crie um construtor vazio e outro que receba todos os atributos de funcionário.
Teste a classe em uma classe Principal.
Exercícios
Classe: Pessoa Atributos: nome, idade. Método: void fazAniversario() Implemente os métodos get e set de cada
atributo e também crie seus construtores.
Teste a classe em uma classe Principal.
Exercícios
É usado para a criação de uma variável que poderá ser acessada por todas as instâncias de objetos desta classe
Quando seu conteúdo é modificado numa das instâncias, a modificação ocorre em todas as demais.
Static
Static
A linguagem Java permite agrupar classes em uma coleção chamada pacote◦ Ao escrever um pacote é preciso colocar o nome do
pacote no topo do arquivo-fonte que declara a classe
◦ Um pacote reflete uma estrutura de diretórios◦ Um pacote é declarado usando-se a palavra-chave package
Para se usar um pacote criado, usa-se:import pacote.*
Pacotes
Pacotes
Exercícios Classe: Porta Atributos: aberta, cor, dimensaoX, dimensaoY, dimensaoZ Métodos:
◦ void abre() ◦ void fecha() ◦ void pinta(String s) ◦ boolean estaAberta()
Crie métodos get e set e também construtores.
Crie uma porta, abra e feche a mesma, pinte-a de diversas cores, altere suas dimensões e use o método estaAberta para verificar se ela está aberta.
Defina uma classe para representar um candidato a uma eleição, com atributos para armazenar o nome do candidato e o número de votos, ambos privados. Defina um método de acesso para cada atributo, um método para incrementar o número de votos do candidato e um construtor para a classe que recebe como argumento o nome do candidato e inicializa o número de votos com zero.
Exercícios
Desenvolva um programa que cria um candidato com nome de sua escolha. Em seguida, deve ser lido um nome. Se o nome lido for o do seu candidato, incrementar o contador de votos. No final, imprimir o nome do candidato e o total de votos.
Exercícios
Jsp, Servlets e J2EE. André Temple, Rodrigo Fernandes de Mello, Danival Taffarel Calegari and Maurício Schiezaro. Disponível em: www.inf.ufsc.br/~bosco/downloads/livro-jsp-servlets-j2ee.pdf.
W3Schools. Disponível em: http://www.w3schools.com/.
Apostila de Java. Caelum. Disponível em: http://www.caelum.com.br/apostila-java-orientacao-objetos/.
DEITEL, Paul J.; DEITEL, Harvey M. Java - como programar. 8. ed. São Paulo: Pearson Prentice Hall, 2010.
Referências
Java
Me. Arthur Emanuel de Oliveira Carosia