Get e set

3 respostas
V

gostaria de saber como uso estas duas palavrinhas (get e set) para encapsular um programa.

3 Respostas

M

No básico, os tipos de métodos que podem ser escritos em uma classa, são:

accessor (de acesso): permite ler o valor de um atributo;

mutator (de alteração): permite alterar o valor de um atributo;

worker (de trabalho): permite executar uma determidada tarefa;

constructor (de inicialização): permite criar um objeto e iicializá-lo

dentre eles;

accessor (todos aqueles que começam com get)
mutator (todos aqueles que começam com set)

Veja que seguindo a prática de encapsulamento, definimos atributos em classe como private. Portanto, para manipulá-los, devemos criar um conjunto de métodos (get e set) para cada um deles.

Espero ter ajudado!
:wink:

E

o uso dos metodos set e get sao para segurança de dados exemplo

private int num;

public int getNumero(){

if (num  > 0)

2/num

else

nao divide (divisao por zero)

return num;

vc controla o accesso a ele para proteger os dados isso se chama encapsulamento

_

Para ajudar no encapsulamento de atributos de classes, os atributos que são retornados e alterados nos metodos get/set devem ser PRIVATE, pois assim apenas a própria classe pode acessar e alterar estes atributos diretamente, e para outras classes acessá-los e alterá-los, deve ser utilizado os get/set.

ex.:

class MinhaClasse {
int numero;

public int getNumero() {

return numero;

}
public int setNumero(int novo) {

numero = novo;

}

estes metodos não seriam necessários, pois o atributo numero está marcado como FRIENDLY, logo pode ser acessado diretamente, bastava fazer em outra classe:

MinhaClasse mC = new MinhaClasse(5);

int var1 = mC.numero;

mC.numero = 10;

Marcando numero como PRIVATE, ocorre o encapsulamento, e numa outra classe deveria ser feito:

MinhaClasse mC = new MinhaClasse(5);

int var1 = mC.getNumero();

mC.setNumero(10);

Caso exista algum atributo que nao deve ser acessado nem alterado, bastaria marcar este atributo como PRIVATE, e não implementar métodos get/set para este atributo.
Este é o principal fundamento do encapsulamento!

void esperoTerAjudado()

Criado 9 de novembro de 2004
Ultima resposta 10 de nov. de 2004
Respostas 3
Participantes 4