Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Dúvida sobre o a criação de classes num código

Oi intrutores, tudo bem?

Estou acompanhando as aulas e pelo que eu entendi, para rodar um código criado em Java é tudo através de classes, tanto para criar objetos como para criar o script principal. É isso mesmo?

A impressão que dá é que o código é todo modularizado em mini scripts, e cada script são as Classes, mas que também o script principal que roda a aplciação é uma Classe também.

Então se a Classe tiver como objetivo:

  1. De "ser uma classe" conforme a definição, ela é responsável por ter em seu interior atributo dos objetos que serão criados em outro script;
  2. De ser o script principal, ela não define atributos e pode ser manipulada de outras formas;

Vocês podem me ajudar a esclarecer meu entendimento?

Obrigada! Uma ótima semana para vocês <3 !

1 resposta
solução!

1 - Classe vai ter os atributos do objeto que ela modela. Que podem ser os tipos primitivos ou pode ser outra classe.

public class Carro {
    private int codigo;
    private String nome;
    private String modelo;
    private Montadora montadora;
}

public class Montadora {
    private int codigo;
    private String nome;
}

outro detalhe, a gente divide um arquivo java para cada classe, mas nada impede que voce coloque tudo dentro de um arquivo so.

2 - A classe responsável por iniciar o programa pode receber atributos, e pode ter classes também e metodos. voce pode ter um programa inteiro numa unica classe. Mas ninguem em sã conciencia faria isso, pq é coisa de doido. Dependendo da aplicacao, voce nem precisa da classe principal. Se for uma aplicacao que roda em container web, servlet, jsp, jsf, voce nem precisa do main, quem inicia ela é o proprio servidor.

Pense na classe como a descricao de uma coisa do mundo real, um biscoito, uma cadeira, um fogao, entao nela voce vai colocar as caracteristicas dessa coisa. Quando voce instancia uma classe voce tem uma representação dessa coisa.

Biscoito biscoito = new Biscoito;
biscoito.setSabor("chocolate");
biscoito.setRecheado(true);

Ai agora o que eu vou fazer com esse biscoito eu vou vender.

Entao agora eu preciso de uma classe Venda, a venda vai ter itens, eu preciso de uma classe ItemDaVenda, se a venda precisar idenficar quem esta comprando, precisa do Cliente. Entao com tudo modelado voce pode fazer uma classe com o main, que vai rodar ate no proprio console perguntando o que voce quer fazer.

Instancia uma venda, pergunta se quer selecionar cliente, ai voce instancia o cliente e adiciona ele na venda.

venda.setCliente(cliente);

em seguida vai perguntar qual item voce quer, voce diz que é o biscoito de chocolate. e cria o item

ItemDaVenda item = new ItemDaVenda();
item.setProduto(biscoito);
item.setQuantidade(10);
item.setValor(biscoito.getPreco());
venda.adicionarItem(item);

venda.calculaTotal();
venda.emitir();

e assim vai.