Encapsulamento de dados
É a técnica de se permitir o acesso ao estado de uma classe somente por meio de métodos públicos. As variáveis de classe são marcadas como private, o que faz com que as mesmas sejam visíveis somente dentro da classe a qual elas pertencem.
Estados de classes: São as variáveis.
Comportamento das classes: São os métodos, ou seja, as ações que os objetos da classe poderão realizar.
Modificador public
Variáveis e métodos marcados como public são visíveis dentro e fora da classe as quais eles pertencem.
Na classe Aluno:
Public class Aluno{ private String nome; private int idade; public string getNome(){ return this.nome; } public void setNome(String nome){ this.nome = nome; }
}
No main:
Aluno a = new Aluno();a.SetNome("Carol");sout(a.getNome());
"a" é uma variável do tipo referencia ao tipo "Aluno"
a) set (mutatório) => Define ou ajusta
b) get (acessório) => Obtém (acessa) valores
Reset => Redefine ou reajusta
Criação de matriz de objetos
int valores[] = new int[5]
Neste exemplo estamos criando uma matriz do tipo inteiro com 5 posições, o valor padrão é 0, o valor padrão para String é null, e o valor padrão para boolean é false.
Seria assim:
Aluno alunos[] = new Aluno[5]; // CRIAMOS UM ESPAÇO NULL DE 5 POSIÇOES
1)alunos[0] = new Aluno(); // PEGAMOS OS ATRIBUTOS E SETAMOS NA POSIÇÃO 0
2)alunos[0].nome = "lucas";
3)alunos[0].idade = 19;
Test para saber se hemos aprendido todo nesta materia:
Cadastrar os 5 carros (marca) e pedir ao cliente procurar por uma marca.
Solução do test:
Encapsula.java (main)
import javax.swing.JOptionPane;public class encapsula { public static void main(String[] args) { String escolhaMarca; Veiculo a[] = new Veiculo[3]; //Definimos 5 posiçoes for (int i = 0; i < a.length; i++) { //Criamos o laço a[i] = new Veiculo(); //Definimos os atributos a[i].setMarca(JOptionPane. showInputDialog("Digita marca")); //Definimos o valor //JOptionPane. showMessageDialog(null, a[i].getMarca()); //Mostramos } String resultado = ""; escolhaMarca=JOptionPane. showInputDialog("Digite a marca"); for (int i = 0; i < a.length; i++) { if(escolhaMarca.equals(a[i]. getMarca())){ resultado = resultado + "; Encontrado: \n\n" + a[i].getMarca() + "- Ano: \n"+ a[i].getAno() + "- Modelo: \n"+ a[i].getModelo() + "- Preço: \n"+a[i].getPreco(); } } JOptionPane.showMessageDialog( null, resultado); }}
Classe Veiculo.java:
public class Veiculo { private String marca; private String modelo; private int ano; private double preco; public String getMarca() { return marca; } public void setMarca(String marca) { this.marca = marca; } String getModelo() { return modelo; } void setModelo(String modelo) { this.modelo = modelo; } int getAno() { return ano; } void setAno(int ano) { this.ano = ano; } double getPreco() { return preco; } void setPreco(double preco) { this.preco = preco; }}
0 comentarios:
Postar um comentário