public new IAlumno crearAleatorio()
        {
            IAlumno aluDec = new AlumnoMuyEstudioso((IAlumno)base.crearAleatorio());

            aluDec = new LegajoDecorator(aluDec);
            aluDec = new LetrasDecorator(aluDec);
            aluDec = new PromocionDecorator(aluDec);
            aluDec = new NumeroDecorator(aluDec);
            aluDec = new CuadroDecorator(aluDec);

            return(aluDec);
        }
예제 #2
0
        public string showResult()
        {
            // Practica 4 - Ejercicio 7 //


            DecoratorCalificacion decorador = new Decorator(estudiante);
            LegajoDecorator       legDec    = new LegajoDecorator(decorador, estudiante);
            LetrasDecorator       letrDec   = new LetrasDecorator(legDec, estudiante);
            NumeroDecorator       numDec    = new NumeroDecorator(letrDec, estudiante);
            PromocionDecorator    promDec   = new PromocionDecorator(numDec, estudiante);
            CuadroDecorator       cuadroDec = new CuadroDecorator(promDec, estudiante);

            return(cuadroDec.mostrarCalificacion());
        }
        /// <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();
        }