Algunos Futbolistas pueden desenvolverse naturalmente en una, dos y hasta 3 posiciones dentro de la cancha (aunque, no seria raro, pueda tener un par más).
Hay que modelar esto dentro del namespace Futbol con una clase Posición que conste de un id (byte) y un nombre.
La clase futbolista deberia tener una agregación 1 a * (un futbolista esta agre) con una clase tipo 'Posición' que solo tendria tambien un id (byte) y un nombre.
JuegaDe
Despues de hacer lo de arriba, estaria piola saber si un futbolista juega de una determina posición, suponganse los objetos instanciados de posiciones y futbolista, deberia admitir asi.
//devuelve true, porque juega de 4
nicoCapaldo.JuegaDe(defensorDerecho);
//devuelve true porque tambien juega de 8
nicoCapaldo.JuegaDe(medioCampoDerecho);
//devuelve false porque no juega en esa posicion
nicoCapaldo.JuegaDe(delanteroCentral);
Para esto les recomiendo ver este método de colecciones para poder buscar si una posición se encuentra o no en una lista de posiciones.
Futbolistas con Posición
Algunos
Futbolistas
pueden desenvolverse naturalmente en una, dos y hasta 3 posiciones dentro de la cancha (aunque, no seria raro, pueda tener un par más). Hay que modelar esto dentro del namespace Futbol con una clase Posición que conste de un id (byte
) y un nombre.La clase futbolista deberia tener una agregación 1 a * (un futbolista esta agre) con una clase tipo 'Posición' que solo tendria tambien un id (
byte
) y un nombre.JuegaDe
Despues de hacer lo de arriba, estaria piola saber si un futbolista juega de una determina posición, suponganse los objetos instanciados de posiciones y futbolista, deberia admitir asi.
Para esto les recomiendo ver este método de colecciones para poder buscar si una posición se encuentra o no en una lista de posiciones.