Modela os objetos através de classes.
métodos que utilizem estrutura de repetição para calcular ou processar uma determinada funcionalidade.
Sobreescreva os métodos toString das classes implementadas para apresentar informações completas dos objetos.
package restaurante;
public class Sobremesa {
// Declaração dos atributos da classe Sobremesa (características do objeto).
private String nome;
private String tipo;
private String descricao;
private double preco;
private String tabela_nutricional;
Sobremesa(){
}
public Sobremesa (String nome, String tipo, String descricao, double preco, String tabela_nutricional){
this.nome = nome;
this.tipo = tipo;
this.descricao = descricao;
this.preco = preco;
this.tabela_nutricional = tabela_nutricional;
}
// Metodo nome do prato (Comportamento de Objetos)
public void nome(String nomedasobremesa){
this.nome =nomedasobremesa;
}
// Metodo tipo do prato (Comportamento de Objetos)
public void tipo(String tipodasobremesa){
this.tipo =tipodasobremesa;
}
// Metodo preco do prato (Comportamento de Objetos)
public void preco(double valordasobremesa){
this.preco =valordasobremesa;
}
@Override
public String toString(){
return "Tipo da sobremesa: " + tipo +"\n" +"Nome da sobremesa: " + nome +"\n" +"Preco: " + preco +"\n\n";
}
}
package restaurante;
public class Prato {
// Declaração dos atributos da classe Prato (características do objeto).
protected String nome;
private String tipo;
private String descricao;
private double preco;
private int numero_pedido;
private String tabela_nutricional;
Prato() {
}
public Prato (String nome, String tipo, String descricao,double preco, int numero_pedido, String tabela_nutricional){
this.nome = nome;
this.tipo = tipo;
this.descricao = descricao;
this.preco = preco;
this.numero_pedido = numero_pedido;
this.tabela_nutricional = tabela_nutricional;
}
// Metodo nome do prato (Comportamento de Objetos)
public void nome(String nomedoprato){
this.nome =nomedoprato;
}
/*
Get e Set são métodos utilizados para ler e setar, respectivamente,
o valor de um atributo em uma classe.
Desta maneira, os atributos da classe se mantêm privados, e toda
alteração/leitura dos valores, ficam centralizadas nos métodos get e set.
private para o encapsulamento. Mas aí como acessar? Getters e setters nela!
http://blog.caelum.com.br/nao-aprender-oo-getters-e-setters/
public String getNome() {
return this.nome;
}
public void setNome (String nome) {
this.nome = nome;
}
*/
// Metodo tipo do prato (Comportamento de Objetos)
public void tipo(String tipodoprato){
this.tipo =tipodoprato;
}
// Metodo preco do prato (Comportamento de Objetos)
public void preco(double valordoprato){
this.preco =valordoprato;
}
@Override
public String toString(){
return "Tipo do prato: " + tipo +"\n" +"Nome do prato: " + nome +"\n" +"Preco: " + preco +"\n\n";
}
}
package restaurante;
public class Cliente {
// Declaração dos atributos da classe Cliente (características do objeto).
private String nome;
private int numero_pedido;
private String endereco;
Cliente(){
}
public Cliente (String nome, int numero_pedido, String endereco){
this.nome = nome;
this.numero_pedido = numero_pedido;
this.endereco = endereco;
}
public String Nome(String novoCliente){
return this.nome=novoCliente;
}
public void numero_pedido(int novoPedido){
this.numero_pedido = novoPedido;
}
public String Endereco(String novoEndereco ){
return this.endereco = novoEndereco;
}
@Override
public String toString() {
return "Nome: " +nome +"\nNumero do pedido: " +numero_pedido + "\nEndereço: " + endereco +"\n";
}
}
//Criar uma instancia para a classe Cliente.
//Adiciona o primeiro cliente
Cliente c = new Cliente();
c.numero_pedido(1789);
c.Nome("Carlos da Silva");
c.Endereco("Rua Ana Maria, 130 - Tijuca");
//Criar uma instancia para a classe Prato para o primeiro cliente.
Prato p = new Prato();
p.tipo("Massa");
p.nome("Spaghettini Camarão");
p.preco(20.78);
// Criar uma instancia para a classe Bebida para o primeiro cliente.
Bebida b = new Bebida();
b.tipo("Normal");
b.nome("Copo de água");
b.preco(2.00);
//Criar uma instancia para a classe Sobremesa para o primeiro cliente.
Sobremesa s = new Sobremesa();
s.tipo("gelada");
s.nome("sorvete de Casquinha");
s.preco(7.08);
// =======================================================================
//Adiciona o segundo cliente
Cliente c1 = new Cliente();
c1.numero_pedido(2000);
c1.Nome("Maria Gomes da Costa");
c1.Endereco("Rua Buenos Aries, 30 - Centro");
//Criar uma instancia para a classe Prato para o segundo cliente.
Prato p1 = new Prato();
p1.tipo("Parmegiana");
p1.nome("Parmegiana tipo 1");
p1.preco(19.18);
// Criar uma instancia para a classe Bebida para o segundo cliente.
Bebida b1 = new Bebida();
b1.tipo("Normal");
b1.nome("Suco Laranja");
b1.preco(5.17);
//Criar uma instancia para a classe Sobremesa para o segundo cliente.
Sobremesa s1 = new Sobremesa();
s1.tipo("gelada");
s1.nome("Bolo de Laranja");
s1.preco(3.50);
// =======================================================================
System.out.println("============================================\n");
System.out.print(c.toString());
System.out.print(p.toString());
System.out.print(b.toString());
System.out.print(s.toString());
System.out.println("============================================\n");
System.out.print(c1.toString());
System.out.print(p1.toString());
System.out.print(b1.toString());
System.out.print(s1.toString());
System.out.println("============================================\n");