Hola, tengo una consulta sobre como hacer el diagrama de secuencia en 4 casos especificos.
Por ejemplo, tengo una clase Persona y una clase Vehiculo, de la cual heredan Auto y Moto. Vehiculo tiene el metodo encender() implementado, y la clase Auto le hace override. Lo que quiero hacer es encender todos los vehículos en el diagrama.
Ahora, Persona tiene una lista de Vehiculos, mi pregunta es si estos diagramas estarían correctos en cada caso:
(1) Persona tiene solamente Autos
(2) Persona tiene solamente Motos
(3) Persona tiene un mix de Autos y Motos
(4) Persona tiene Vehiculos pero no se de antemano cuales son.
Mis dudas surgen en estos casos:
en el caso (3) tengo que hacer 2 diagramas uno para autos y otro motos?
en el caso (2) puedo mandarle el mensaje a vehiculo ya que moto no hace override del metodo encender?
en los casos que le hablo a vehiculo, si auto le tuviera que mandar un mensaje extra a otra clase(por el override), como resuelvo esto, hacer el caso auto y el caso moto? o puedo dejarlo asi y de alguna forma sobre entender como resuelve auto su encender().
Hola:
En ninguno de los diagramas estás mostrando que haya varios vehículos sobre los cuales se itere. En cada uno de ellos existe solamente un vehículo que es conocido por Persona (no se sabe cómo lo conoce). Lo ideal sería que hagas un primer diagrama con la caja de iteración sobre cada uno de los vehículos que tiene la persona (utilizando ahí la interfaz o clase abstracta Vehículo) enviando el mismo mensaje a todos. Luego es necesario que haya por lo menos otros dos diagramas explicitando qué es lo que sucede cuando el vehículo es un auto y qué es lo que sucede cuando es una moto demostrando así la solución polimórfica.
Saludos,
Tomás