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
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
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.
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!
[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
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
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
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]
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.
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…