Modificadores de Acesso
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.
Sem Modificador (Padrão)
Permite
acesso apenas ao pacote em que o membro se encontra.
Exemplo de Código
Segue abaixo o código de um programa que guarda os dados digitados por um usuário e retorna os valores.
Pessoa.java
Nesta classe definimos os atributos como privados usando private. Depois criamos os métodos set e get para cada atributo da classe, lembrando que o primeiro nos permite definir um valor para o atributo, enquanto o segundo retorna o valor do atributo.
Da mesma forma que nos métodos construtores mais simples usados nos códigos das aulas anteriores, o método set usa o this para diferenciar o atributo de classe do parâmetro que será passado. Já o método get usa o return, que serve justamente para retornar o valor.
Podemos também observar que no método set foi usado o void, já que o método set não retornará nenhuma valor, apenas servirá para definir um. O método get no exemplo abaixo foi construido usando String, já que o atributo usado é uma String e, por isso, retornará String.
public
class
Pessoa {
| public void setNome(String nome) { this .nome = nome; } |
| public String getNome() { return nome; } |
| public void setTelefone(String telefone) { this .telefone = telefone; } |
| public String getTelefone() { return telefone; } |
| public void setEndereco(String endereco) { this .endereco = endereco; } |
| public String getEndereco() { return endereco; } |
Main.java
O código abaixo, é da classe principal, que será a primeira a ser executada. Como podemos perceber, ela é feita praticamente da mesma forma que as classes principais dos exemplos mostrados nas aulas anteriores. A diferença aqui é o uso dos métodos set e get para definirmos e lermos os valores.
Começamos dando o import necessário para usarmos o JOptionPane e depois declaramos e instanciamos o objeto da classe Pessoas para podermos usar seus métodos set e get.
Podemos ver que usamos o método set da seguinte forma:
objPessoa.setNome(JOptionPane.showInputDialog("Digite o nome"));
Isso fez com que aparecesse uma caixa de diálogo (JOptionPane.showInputDialog) pedindo para o usuário digitar um nome e depois esse nome foi passado pelo método set para o atributo nome da classe Pessoa. Ou seja, o valor dentro dos parentes do método set é o que foi definido. Uma forma de passar o valor direto no código, sem a interação do usuário, seria:
objPessoa.setNome("Luciscreidsmila Marilene da Silva");
Depois usamos o método get sem parâmetros adicionais para retornar o valor. O JOptionPane.showMessageDialog mostra uma caixa de diálogo com uma mensagem específica. No código ele foi colocado com os métodos get justamente para mostrar a caixa de mensagens com os valores digitados pelo usuário.
import
javax.swing.JOptionPane;
| public static void main(String[] args) { |
| Pessoa objPessoa = new Pessoa(); |
| objPessoa.setNome(JOptionPane.showInputDialog( "Digite o nome" )); |
| objPessoa.setTelefone(JOptionPane.showInputDialog( "Digite o telefone" )); |
| objPessoa.setEndereco(JOptionPane.showInputDialog( "Digite o endereço" )); |
| JOptionPane.showMessageDialog( null , "Nome: " + objPessoa.getNome() + |
| "\nTelefone: " + objPessoa.getTelefone() + |
| "\nEndereço: " + objPessoa.getEndereco()); |
Claro que podemos fazer muito mais do que isso. Podemos também usar métodos construtores e herança (como os que usamos na
terceira e na
quarta aula) junto com um programa que tenha encapsulamento e muito mais. Para finalizar esta
aula deixo o exercício abaixo:
Exercício
Use o
código que foi passado na
aula anterior e faça as modificações no que achar necessário para criar um programa mais completo que também faça uso dos
métodos set e get. Neste caso, quanto maior interação com o usuário, melhor. Não existem regras em relação ao código que usar. A criatividade é o que conta. Boa sorte
so lembrando estas aulas estãos endo tirados do: http://terramel.org
link para outras postagens:
Aula Java: Parte-04
Aula Java: Parte-03
Aula Java: Parte-02
Aula Java: Parte-01
Nenhum comentário:
Postar um comentário
retirei ENVIO anonimo porque algumas pessoas faziam perguntas anonimamente e eu não tinha como contacta-los
para duvidas pode enviar um e-mail para
rpgmak@rpgmak.tk