java: encapsulamento e modificadores de acesso

Post on 13-Feb-2017

133 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related