//----- Ejercicio 9 ----- public static void CambiarEstrategia(Iterable coleccionable, IEstrategiaDeComparacion iedc) { Iterador iterador = coleccionable.crearIterador(); iterador.primero(); while (!iterador.fin()) { IComparable comparable = iterador.actual(); ((Alumno)comparable).setEstrategia(iedc); Console.WriteLine(comparable); iterador.siguiente(); } }
//----- Ejercicio 2 ----- (Modificación del Ejercicio 16 de la Practica 1) public static void LlenarAlumnos(IColeccionable coleccionable, IEstrategiaDeComparacion iedc) { //Revisar la parte de nombres al azar int cantVeces = 0; Random r = new Random(); while (cantVeces < 20) { int dni = r.Next(1, 50); int leg = r.Next(1, 25); int prom = r.Next(1, 10); Alumno comparable = new Alumno("ghijk", dni, leg, prom); //Lo que recibe por parametro es una estrategia de comparacion por Legajo comparable.setEstrategia(iedc); coleccionable.Agregar(comparable); cantVeces++; } }
public void setEstrategia(IEstrategiaDeComparacion e) { this.estrategia = e; }
public Persona(string n, int d) { this.nombre = n; this.dni = d; estrategia = new EstrategiaPorNombre(); }