public static Comparable crearPorTeclado(int tipoComparable)
        {
            FabricaDeComparables fabrica = null;

            if (tipoComparable == num)
            {
                fabrica = new FabricaDeNumeros();
            }
            else if (tipoComparable == alum)
            {
                fabrica = new FabricaDeAlumnos();
            }
            else if (tipoComparable == vend)
            {
                fabrica = new FabricaDeVendedores();
            }
            else
            {
                return(null);
            }
            return(fabrica.crearPorTeclado());
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="args"></param>
        public static void Main(string[] args)
        {
            // Practica 4 - Ejercicio 4 //

            Console.WriteLine("Practica 4 - Ejercicio 4");
            Console.WriteLine("************************\n");

            Teacher            profesor       = new Teacher();
            FabricaDeAlumnos   fabricaAlumnos = new FabricaDeAlumnos();
            Alumno             alumno;
            AlumnoMuyEstudioso alumnoEst;
            StudentAdapter     estudiante;

            for (int i = 0; i < 20; i++)
            {
                alumno = (Alumno)fabricaAlumnos.crearAleatorio();
                if ((i % 2) == 0)
                {
                    estudiante = new StudentAdapter(alumno);
                }
                else
                {
                    alumnoEst  = new AlumnoMuyEstudioso(alumno);
                    estudiante = new StudentAdapter(alumnoEst);
                }
                profesor.goToClass(estudiante);
            }

            profesor.teachingAClass();



            // Practica 4 - Ejercicio 6 //


            Console.WriteLine("Practica 4 - Ejercicio 6");
            Console.WriteLine("************************\n");

            Alumno alumnoDec = (Alumno)fabricaAlumnos.crearAleatorio();

            alumnoDec.setCalificacion(6);

            DecoratorCalificacion decorador = new Decorator(alumnoDec);

            Console.WriteLine("\nDECORATOR:");
            Console.WriteLine(decorador.mostrarCalificacion());

            LegajoDecorator legDec = new LegajoDecorator(decorador, alumnoDec);

            Console.WriteLine("\nLEGAJO DECORATOR:");
            Console.WriteLine(legDec.mostrarCalificacion());

            LetrasDecorator letrDec = new LetrasDecorator(legDec, alumnoDec);

            Console.WriteLine("\nLETRAS DECORATOR:");
            Console.WriteLine(letrDec.mostrarCalificacion());

            PromocionDecorator promDec = new PromocionDecorator(letrDec, alumnoDec);

            Console.WriteLine("\nPROMOCION DECORATOR:");
            Console.WriteLine(promDec.mostrarCalificacion());

            NumeroDecorator numDec = new NumeroDecorator(promDec, alumnoDec);

            Console.WriteLine("\nNUMERO DECORATOR:");
            Console.WriteLine(numDec.mostrarCalificacion());

            CuadroDecorator cuadroDec = new CuadroDecorator(numDec, alumnoDec);

            Console.WriteLine("\nCUADRO DECORATOR:");
            Console.WriteLine(cuadroDec.mostrarCalificacion());



            Console.ReadKey();
        }