2013/01/21

Java - Capitulo 5: Encapsulamento de dados

new Comment();

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;
}
}



If You Enjoyed This, Take 5 Seconds To Share It

0 comentarios:

Postar um comentário