Skip to content

Commit

Permalink
novo exemplo com abstract
Browse files Browse the repository at this point in the history
  • Loading branch information
vinicius committed Jan 13, 2021
1 parent 80b0c9b commit 636ed21
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 36 deletions.
4 changes: 2 additions & 2 deletions LojaVirtual/src/LojaTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

public class LojaTest {

Loja loja;
/* Loja loja;
Livro livro1;
Livro livro2;
CD cd1;
Expand Down Expand Up @@ -67,6 +67,6 @@ public void testarVendaParaProdutoNaoExistente() {
Livro livroNaoExistente = new Livro(1010101, "Blah", "Qualquer coisa", null, 2000);
String recibo = loja.receberPedido(livroNaoExistente, 5, comprador);
assertNull(recibo);
}
}*/

}
98 changes: 64 additions & 34 deletions LojaVirtual/src/Principal.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,49 +5,79 @@
*/
public class Principal {

public static void main(String[] args) {

public static Impressora instanciarImpressora() {
Scanner sc = new Scanner(System.in);

Loja loja = null;
Transportadora transportadora = new Transportadora();
System.out.println("Qual o tipo de impressora? ");
String tipo = sc.nextLine();

while (loja == null) {
System.out.println("O que usar como serviço de impressão? " +
"\n Impressora (J)ato de Tinta\n Impressora (M)atricial");
String resposta = sc.nextLine();

switch (resposta.toUpperCase().charAt(0)) {
// case 'G':
// Grafica grafica = new Grafica();
// loja = new Loja(transportadora, grafica);
// break;
if (tipo.equals("jato")) {
return new ImpressoraJatoDeTinta("Epson", 2005);
} else if (tipo.equals("laser")) {
return new ImpressoraLaser("HP", 2000);
} else {
return new ImpressoraMatricial();
}
}

case 'M':
ImpressoraMatricial impressoraMatricial = new ImpressoraMatricial();
loja = new Loja(transportadora, impressoraMatricial);
break;

case 'J':
ImpressoraJatoDeTinta impressoraJato = new ImpressoraJatoDeTinta("Epson", 2020);
loja = new Loja(transportadora, impressoraJato);
break;

case 'S':
return; // sai do main()
public static void main(String[] args) {

default:
System.out.println("\nOpção inválida!");
}
}
Impressora impressora;

Usuario usuario = new Usuario(123456, "Vinícius Gusmão");
usuario.setEndereco("Rua Taltaltal, 10000 apto 501");
impressora = instanciarImpressora();

CD cd = new CD(1234, "Fragile", "Yes", 1974);
cd.setPrecoEmReais(35);
int ano = impressora.getAnoDeFabricacao();

loja.incluirItem(cd);
loja.receberPedido(cd, 5, usuario);
impressora.imprimir("blah");
}





// Scanner sc = new Scanner(System.in);
//
// Loja loja = null;
// Transportadora transportadora = new Transportadora();
//
// while (loja == null) {
// System.out.println("O que usar como serviço de impressão? " +
// "\n Impressora (J)ato de Tinta\n Impressora (M)atricial");
// String resposta = sc.nextLine();
//
// switch (resposta.toUpperCase().charAt(0)) {
//// case 'G':
//// Grafica grafica = new Grafica();
//// loja = new Loja(transportadora, grafica);
//// break;
//
// case 'M':
// ImpressoraMatricial impressoraMatricial = new ImpressoraMatricial();
// loja = new Loja(transportadora, impressoraMatricial);
// break;
//
// case 'J':
// ImpressoraJatoDeTinta impressoraJato = new ImpressoraJatoDeTinta("Epson", 2020);
// loja = new Loja(transportadora, impressoraJato);
// break;
//
// case 'S':
// return; // sai do main()
//
// default:
// System.out.println("\nOpção inválida!");
// }
// }
//
// Usuario usuario = new Usuario(123456, "Vinícius Gusmão");
// usuario.setEndereco("Rua Taltaltal, 10000 apto 501");
//
// CD cd = new CD(1234, "Fragile", "Yes", 1974);
// cd.setPrecoEmReais(35);
//
// loja.incluirItem(cd);
// loja.receberPedido(cd, 5, usuario);
// }
}

0 comments on commit 636ed21

Please sign in to comment.