public static Veiculo Criar(string modelo, EnumPorte porte) { switch (porte) { case EnumPorte.Pequeno: return(new VeiculoPequeno(modelo, porte)); case EnumPorte.Medio: return(new VeiculoMedio(modelo, porte)); case EnumPorte.Grande: return(new VeiculoGrande(modelo, porte)); default: throw new ApplicationException("Porte de veiculo desconhecido."); } }
public static Guincho Criar(EnumPorte porte) { switch (porte) { case EnumPorte.Pequeno: return(new GuinchoPequeno(porte)); case EnumPorte.Medio: return(new GuinchoMedio(porte)); case EnumPorte.Grande: return(new GuinchoGrande(porte)); default: throw new ApplicationException("Porte de Guincho desconhecido."); } }
protected Veiculo(string modelo, EnumPorte porte) { Modelo = modelo; Porte = porte; }
public GuinchoPequeno(EnumPorte porte) : base(porte) { }
public abstract Veiculo CriarVeiculos(string modelo, EnumPorte porte);
public VeiculoPequeno(string modelo, EnumPorte porte) : base(modelo, porte) { }
public VeiculoGrande(string modelo, EnumPorte porte) : base(modelo, porte) { }
public override Veiculo CriarVeiculos(string modelo, EnumPorte porte) { return(VeiculoCreator.Criar(modelo, porte)); }
public VeiculoMedio(string modelo, EnumPorte porte) : base(modelo, porte) { }
public GuinchoGrande(EnumPorte porte) : base(porte) { }
protected Guincho(EnumPorte porte) { Porte = porte; }
public GuinchoMedio(EnumPorte porte) : base(porte) { }