Hola a tod@s.
Tengo que realizar el siguiente ejercicio en java.
Se tiene una organización con socios (que pagan una cuota) y no socios (que no pagan cuota pero tienen menos privilegios). La organización tiene un presidente y un vicepresidente, que tienen que ser socios lógicamente.
Como no tenía muy claro como modelar lo del presi y vicepresidente, al hacer el diagrama de clases se me ha ocurrido poner una asociación reflexiva 1:1 (con rol "presidente" en un extremo) en la clase Socio para ver que pasaba. Al crear el código a partir del diagrama, en la clase Socio se ha creado un atributo "presidente" de tipo Socio, lo cual me ha parecido lógico a la hora de poder crear al presidente. Entonces, con el vicepresidente ¿tendría que crear igualmente un atributo "vicepresidente" del mismo tipo?, ¿sería esa la forma de implementarlo, con dos atributos?.
En caso de que fuera ésta la forma correcta de hacerlo, me surge la duda de como inicializar esos atributos. Entiendo que en el constructor que crea un Socio a partir de sus datos (nombre, dni, etc..) no puede ser. Entonces, ¿tendría que crear un constructor que recibiera un Socio para inicializar al presidente o al vicepresidente o tendría que crear algún método en la clase para crearlos?
A ver si alguien me puede ayudar para ver si voy por buen camino.
Muchas gracias. Un saludo.