static void Main(string[] args) { // Cria a montadora com construtores de veículos Montadora montadora = new Montadora(); ConstruirVeiculo cMoto = new ConstrutorMoto(); ConstruirVeiculo cCarro = new ConstrutorCarro(); // Construir e exibir os veículos montadora.Construir(cMoto); cMoto.Veiculo.Mostra(); montadora.Construir(cCarro); cCarro.Veiculo.Mostra(); Console.ReadKey(); }
public ConstruirVeiculo CriaVeiculos(string tipo) { Montadora montadora = new Montadora(); ConstruirVeiculo cVeiculo = new ConstrutorMoto(); switch (tipo) { case "Moto": cVeiculo = new ConstrutorMoto(); break; case "Carro": cVeiculo = new ConstrutorCarro(); break; default: cVeiculo = new ConstrutorCarro(); break; } montadora.Construir(cVeiculo); return(cVeiculo); }
static void Main(string[] args) { // Cria a montadora com construtores de veículos Montadora montadora = new Montadora(); BuildVeiculo cMoto = new ConstrutorMoto(); BuildVeiculo cCarro = new ConstrutorCarro(); // Construir e exibir os veículos montadora.Construir(cMoto); cMoto.Veiculo.Mostra(); montadora.Construir(cCarro); cCarro.Veiculo.Mostra(); Console.WriteLine(" --------------Carro Padrão-----------------------"); Console.WriteLine("Descricao --> " + cCarro.Veiculo.Descricao.TrimEnd(' ', ',')); Console.WriteLine("Preco -->" + cCarro.Veiculo.Preco.ToString()); Console.ReadLine(); Console.WriteLine(" --------------Carro Decorado---------------------"); //decora o carro com banco de couro cCarro.Veiculo = new Carro_Couro(cCarro.Veiculo); Console.WriteLine("Descricao --> " + cCarro.Veiculo.Descricao.TrimEnd(' ', ',')); Console.WriteLine("Preco -->" + cCarro.Veiculo.Preco.ToString()); //decora o carro com motor turbo cCarro.Veiculo = new Carro_Turbo(cCarro.Veiculo); Console.WriteLine("Descricao --> " + cCarro.Veiculo.Descricao.TrimEnd(' ', ',')); Console.WriteLine("Preco -->" + cCarro.Veiculo.Preco.ToString()); Console.ReadLine(); Console.ReadKey(); }