[RESOLVIDO] Get's Set's

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

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?

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:

[code]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.

	
}

}[/code]

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

[quote=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?[/quote]

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

[quote=raffamz][quote=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?[/quote]

Rodrigo, usamos a mesma definição para classe e objeto, é isto funciona msm! Haha
Abraço[/quote]
É, foi a que funcionou pra mim.

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

[quote=Rodrigo Sasaki][quote=raffamz][quote=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?[/quote]

Rodrigo, usamos a mesma definição para classe e objeto, é isto funciona msm! Haha
Abraço[/quote]
É, foi a que funcionou pra mim.

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

Hahaha…verdade!

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.

Entendi muito bem

Muito obrigado

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