static void Main(string[] args) { componentes miAuto = new auto("2020", "2 puertas", 200000); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(miAuto); ((auto)miAuto).puertas(true); Console.WriteLine("--------"); miAuto = new SistemaSonido(miAuto); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(miAuto.Costo()); Console.WriteLine(miAuto.Funciona()); Console.WriteLine(miAuto); Console.WriteLine("--------"); miAuto = new nitrogeno(miAuto); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(miAuto.Costo()); Console.WriteLine(miAuto.Funciona()); Console.WriteLine(miAuto); //este type cast es para usar algo propio del nitrogeno Console.ForegroundColor = ConsoleColor.DarkMagenta; ((nitrogeno)miAuto).usaN(); Console.WriteLine("--------"); Console.ForegroundColor = ConsoleColor.DarkRed; miAuto = new suspension(miAuto); Console.WriteLine(miAuto.Costo()); Console.WriteLine(miAuto.Funciona()); Console.WriteLine(miAuto); Console.WriteLine("--------"); miAuto = new color(miAuto); Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine(miAuto.Costo()); Console.WriteLine(miAuto.Funciona()); Console.WriteLine(miAuto); Console.WriteLine("--------"); return; }
static void Main(string[] args) { IComponente miAuto = new Auto("2018", "4 puertas", 20000); Console.WriteLine(miAuto); ((Auto)miAuto).Puertas(true); Console.WriteLine("------------------------"); Console.ReadKey(); //miAuto va a agregar nuevo sistema de sonido, con parámetros de miAuto miAuto = new SistemaSonido(miAuto); Console.WriteLine(miAuto.Costo()); Console.WriteLine(miAuto.Funciona()); Console.WriteLine(miAuto); Console.WriteLine("-----------------------"); Console.ReadKey(); miAuto = new Nitrogeno(miAuto); Console.WriteLine(miAuto.Costo()); Console.WriteLine(miAuto.Funciona()); Console.WriteLine(miAuto); //Usar algo propio del nitrógeno ((Nitrogeno)miAuto).UsaN(); Console.WriteLine("----------------------"); miAuto = new Suspension(miAuto); Console.WriteLine(miAuto.Costo()); Console.WriteLine(miAuto.Funciona()); Console.WriteLine(miAuto); Console.WriteLine("-----------------------"); Console.ReadKey(); //No podemos usar metodos especificos una vez que decoramos sobre ella //((Nitrogeno)miAuto).UsaN(); //((Auto)miAuto).Puertas(false); }
static void Main(string[] args) { IComponente miAuto = new Auto("2018", "4 puertas", 200000); Console.WriteLine(miAuto); ((Auto)miAuto).Puertas(true); Console.WriteLine("-----"); miAuto = new SistemaSonido(miAuto); Console.WriteLine(miAuto.Costo()); Console.WriteLine(miAuto.Funciona()); Console.WriteLine(miAuto); Console.WriteLine("-------"); miAuto = new Nitrogeno(miAuto); Console.WriteLine(miAuto.Costo()); Console.WriteLine(miAuto.Funciona()); Console.WriteLine(miAuto); Console.WriteLine("-------"); ((Nitrogeno)miAuto).UsaN(); Console.WriteLine("-----"); miAuto = new Suspension(miAuto); Console.WriteLine(miAuto.Costo()); Console.WriteLine(miAuto.Funciona()); Console.WriteLine(miAuto); Console.WriteLine("-----"); }