コード例 #1
0
        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;
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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("-----");
        }