[RESOLVIDO] Get's Set's

8 respostas
G

Estava estudando a parte teorica da materia e cheguei a ver sobre get’s e set’s. Vi que são relacionados a seguranças de variaveis etc e me surgiu uma duvida

Tem algum problema DE COMPILAÇÃO ou DO CODIGO NÃO FUNCIONAR se eu não usar get e set? Ou um programa que tenha uma variavel senha que tem que ser protegida que acho que seria o idela usar esses metodos, se eu não o fizer, dara algum problema? Teria como alguem me explicar algum outro problema em não usar get set para que possa compreender melhor?

E aproveitando o topico, como eu poderia resumir mais diretamente o que são classes e objetos? Sei o que são e para que servem, mas não sei explicar resumidamente

Obrigado

8 Respostas

Rodrigo_Sasaki

Não, você não terá nenhum problema de compilação.

A ideia de proteger seus dados tem a ver com encapsulamento. Leia esse post, e entenda as vantagens de encapsular seus dados, e os perigos de não o fazer.

Quanto à Classe e Objeto, existe uma definição que me ajudou muito no começo, foi a primeira que fez o conceito fixar na minha cabeça :slight_smile:

Classe é a receita do bolo (definição), diz quanto vai ter de cada ingrediente, o tipo de cada ingrediente, e etc.
Objeto é o bolo em si (instância), ele tem tudo o que foi definido na receita.

Fez sentido?

raffamz

Meu amigo,

Os modificadores de acesso são, somente, para auxiliá-lo na segurança de variáveis que nem sempre devem ser alteradas diretamente. Claro que tudo dependerá da lógica que utilizará. Olhe o exemplo, bem simples de uma conta bancária:

public class Conta {

	private String agencia;
	private String conta;
	private double saldo;

	
	
	public String getAgencia() {
		return agencia;
	}

	public void setAgencia(String agencia) {
		this.agencia = agencia;
	}

	public String getConta() {
		return conta;
	}

	public void setConta(String conta) {
		this.conta = conta;
	}

	public double getSaldo() {
		return saldo;
	}


	public void deposita(double valor) {
		this.saldo += valor;
	}

	public void sacar(double valor) {  //método com lógica que verifica se existe saldo disponível
		if(this.saldo<valor){
			System.out.println("Sem saldo!Saldo disponível: R$ "+this.saldo);
		}
		this.saldo -= valor;
		System.out.println("Saque de R$ "+valor+" realizado!");
		
	}
	
	public static void main(String[] args) {

		Conta conta=new Conta();
		conta.setAgencia("1221");
		conta.setConta("15648");

		conta.setSaldo//não vai funcionar, pq não colocamos um set para o saldo, protegendo para que ninguem alterasse o valor diretamente;
		
		conta.deposita(100); //O acesso ao saldo só é feito pelo método deposita e sacar
		conta.sacar(99);  //perceba que existe uma lógica no método sacar para garantir que o usuário só saque se tiver saldo disponível.

		
	}
}

Sobre classes e objetos, posso te dar uma definição simples tbm, mas é claro que existem as mais rebuscadas, fique à vontade em provura-las...

A Classe seria uma forma de bolo, uma estrutura, algo abstrato;
O Objeto seria o bolo em sí, algo concreto, algo que existe!

Qualquer dúvida, fico a disposição!
Abraço

raffamz

Rodrigo Sasaki:
Não, você não terá nenhum problema de compilação.

A ideia de proteger seus dados tem a ver com encapsulamento. Leia esse post, e entenda as vantagens de encapsular seus dados, e os perigos de não o fazer.

Quanto à Classe e Objeto, existe uma definição que me ajudou muito no começo, foi a primeira que fez o conceito fixar na minha cabeça :slight_smile:

Classe é a receita do bolo (definição), diz quanto vai ter de cada ingrediente, o tipo de cada ingrediente, e etc.
Objeto é o bolo em si (instância), ele tem tudo o que foi definido na receita.

Fez sentido?

Rodrigo, usamos a mesma definição para classe e objeto, é isto funciona msm! Haha
Abraço

Rodrigo_Sasaki

raffamz:
Rodrigo Sasaki:
Não, você não terá nenhum problema de compilação.

A ideia de proteger seus dados tem a ver com encapsulamento. Leia esse post, e entenda as vantagens de encapsular seus dados, e os perigos de não o fazer.

Quanto à Classe e Objeto, existe uma definição que me ajudou muito no começo, foi a primeira que fez o conceito fixar na minha cabeça :slight_smile:

Classe é a receita do bolo (definição), diz quanto vai ter de cada ingrediente, o tipo de cada ingrediente, e etc.
Objeto é o bolo em si (instância), ele tem tudo o que foi definido na receita.

Fez sentido?

Rodrigo, usamos a mesma definição para classe e objeto, é isto funciona msm! Haha
Abraço


É, foi a que funcionou pra mim.

Quando eu li/ouvi (não lembro como foi) já senti aquele :!: na minha cabeça

raffamz

Rodrigo Sasaki:
raffamz:
Rodrigo Sasaki:
Não, você não terá nenhum problema de compilação.

A ideia de proteger seus dados tem a ver com encapsulamento. Leia esse post, e entenda as vantagens de encapsular seus dados, e os perigos de não o fazer.

Quanto à Classe e Objeto, existe uma definição que me ajudou muito no começo, foi a primeira que fez o conceito fixar na minha cabeça :slight_smile:

Classe é a receita do bolo (definição), diz quanto vai ter de cada ingrediente, o tipo de cada ingrediente, e etc.
Objeto é o bolo em si (instância), ele tem tudo o que foi definido na receita.

Fez sentido?

Rodrigo, usamos a mesma definição para classe e objeto, é isto funciona msm! Haha
Abraço


É, foi a que funcionou pra mim.

Quando eu li/ouvi (não lembro como foi) já senti aquele :!: na minha cabeça

Hahaha…verdade!

K

Talvez esse link te ajude a esclarecer melhor sua dúvidas sobre gets e sets: http://blog.caelum.com.br/nao-aprender-oo-getters-e-setters/

Sobre classe e objeto eu vejo assim, por exemplo:

Imagine 2 carros e alguns de seus atributos (características) tais como cor e marca:

carro1
cor = preto
marca = Ford

carro2
cor = prata
marca = Fiat

carro1 e carro2 são objetos. Objetos de qual classe? Da classe Carro.

Classe é como uma categoria, é nada mais que um conjunto de atributos e métodos. E toda categoria tem um conjunto de objetos como no exemplo…carro1…carro2…carro3…todos com os mesmos atributos (cor e marca) definidos pela classe Carro.

G

Entendi muito bem

Muito obrigado

bastides

Get’s e set’s se tratam de segurança das informações. Leia os tópicos indicados pelos colegas que ira avaliar se precisa ou não.

Agora definição de bolo e receita eu nunca tinha ouvido, mas achei boa…eu entendi melhor o conceito de classe e objeto imaginando um desenho/projeto (classe) de um arquiteto por exemplo de uma casa…e a casa depois de pronta (objeto)…

Na classe você define o que ela deve ter, como ira manipular…e no objeto você manipula as informações…

Tente imagina um calculadora, a Classe seria a definição de como funciona…

atributos: números, sinais, etc…
métodos soma, divisão, etc…

O objeto seria a calculadora física, na sua mão…podendo manipular os números…

Com o tempo a ideia vai ficando mais clara na sua cabeça.

[]'s

Criado 20 de fevereiro de 2013
Ultima resposta 20 de fev. de 2013
Respostas 8
Participantes 5