//Ejercicio 9 Practica 2
        public static void CambiarEstrategia(IColeccionableTP coleccionable, IEstrategia_Comparar_Alumno estrategia)
        {
            Interador interador = coleccionable.iterador();

            while (!interador.fin())
            {
                IComparableP elemento = interador.actual();
                interador.siguiente();

                ((Alumno)elemento).Estrategia_elegida = estrategia;

                ((Alumno)elemento).Comparar_Alumnos();

                IComparableP alumnoSiguiente = (Alumno)interador.actual();

                //si no agregara siguiente seria un bucle infinito
                //IEstrategia_Comparar_Alumno cambiandoestrategia = new ContextAlumnoStegy(estrategia);
                ContextAlumnoStegy estrategiaalimno = new ContextAlumnoStegy(new Comparar_Alumno_Dni());

                Console.WriteLine("el alumno " + elemento + " es el MISMO que " + alumnoSiguiente + " = " + "\n " + estrategiaalimno.SosIgual(elemento, alumnoSiguiente));
                Console.WriteLine("el alumno " + elemento + " es MENOR que " + alumnoSiguiente + " = " + "\n " + estrategiaalimno.SosMenor(elemento, alumnoSiguiente));
                Console.WriteLine("el alumno " + elemento + " es MAYOR que " + alumnoSiguiente + " = " + "\n " + estrategiaalimno.SosMayor(elemento, alumnoSiguiente));
            }
        }
Пример #2
0
 public ContextAlumnoStegy(IEstrategia_Comparar_Alumno estrategia)
 {
     this.estrategia = estrategia;
 }