public static MontadoraBase CriarMontadora(TipoDeCarro tipoDeCarro) { switch (tipoDeCarro) { case TipoDeCarro.Eletrico: return(new MontadoraBaseDeCarroEletrico(150000, 5, true)); case TipoDeCarro.Combustao: return(new MontadoraBaseDeCarroACombustao(55, 12, "CO2")); case TipoDeCarro.Vapor: return(new MontadoraBaseDeCarroAVapor(200, 5, 20)); } return(default);
public static Carro montarCarro(TipoDeCarro tipo) { CarroFactory carroFactory = null; Carro carro; switch (tipo) { case TipoDeCarro.Luxo: carroFactory = new CarroLuxoFactory(); break; case TipoDeCarro.Popular: carroFactory = new CarroPopularFactory(); break; } carro = new Carro(); carro.TipoDeRoda = carroFactory.MontarRoda(); carro.TipoDeSom = carroFactory.MontarSom(); return(carro); }