Boa noite.
Estou estudando Java (matéria de A&E I) na Faculdade e POO por conta própria. Sei que muitos não recomendam isto: dar um passo maior que a perna, ou estudar por conta própria. O que acontece é que sempre fui autodidata e não consigo acompanhar a velocidade do meu curso. Bom, chega de introduções… aduhasd… Comecei a estudar POO a pouco tempo e ao começar a fazer meus primeiros programas, surgiu uma dúvida, que se baseia neste pequeno e pobre código:
(Obs: por estar acostumado com o Jeliot, acabei usando-o para testar. Portanto não estranhem o código, por favor)
import jeliot.io.*;
class Armario{
private String produto;
private double preco;
private int quantidade;
public void setProduto(String prod){
produto = prod;
}
public void setPreco(double pre){
preco = pre;
}
public void setQuantidade(int qnt){
quantidade = qnt;
}
public String getProduto(){
return produto;
}
public double getPreco(){
return preco;
}
public int getQuantidade(){
return quantidade;
}
}
class Bar{
public static void main(){
String produto;
double preco;
int quantidade;
int ok;
Armario a1 = new Armario();
Armario a2 = new Armario();
Output.println("Digite o produto o preço e em seguida a quantidade"); //Output.println coisa do Jeliot...
produto = Input.readString(); //Input.readString() coisa do Jeliot também...
preco = Input.readDouble();
quantidade = Input.readInt();
a1.setProduto(produto);
a1.setPreco(preco);
a1.setQuantidade(quantidade);
Output.println("Digite o produto o preço e em seguida a quantidade");
produto = Input.readString();
preco = Input.readDouble();
quantidade = Input.readInt();
a2.setProduto(produto);
a2.setPreco(preco);
a2.setQuantidade(quantidade);
Output.println("O primeiro objeto armazena as seguintes informações:\nProduto: " + a1.getProduto() +" Preço: " + a1.getPreco() + " Quantidade: " + a1.getQuantidade());
Output.println("O segundo objeto armazena:\nProduto: " + a2.getProduto() +" Preço: " + a2.getPreco() + " Quantidade: " + a2.getQuantidade());
}
}
Seria possível realizar uma tarefa mais ou menos assim: Perguntar a quantidade de Produtos que o usuário gostaria de “cadastrar” e baseado na sua resposta, criar o número de objetos correspondentes ?
Não sei se entendi bem o conceito de construtor, mas creio que seja um método para iniciar a classe com valores. Se o meu conceito estiver correto, seria possível criar algo mais ou menos assim:
(O objetivo disto, é para que a cada novo objeto a própria classe ‘setar’ seus argumentos, assim poderia desconsiderar setProduto, setPreco e setQuantidade no exemplo do código anterior)
class Armario{
private String produto;
private double preco;
private int quantidade;
public Armario(){
produto = Input.nextString();
preco = Input.nextDouble();
quantidade = Input.nextInt();
}
// ...
Case não seja possível realizar dessa maneira, existe alguma outra alternativa para se dispensar os “sets”?
Obrigado desde já, e peço desculpas por qualquer erro grotesco que eu possa ter cometido.
Um abraço,
d34d