En los diagramas de clase, normalmente veo algo así como que ClassA extiende ClassB donde la punta de la flecha apunta a ClassA. Ejemplo, aquí, http://bit.ly/GFakDu. Esto siempre me ha confundido. ¿Por qué la punta de la flecha no apunta a ClassB?Comprender por qué la flecha de extensión apunta en la dirección opuesta
Respuesta
UML se utiliza simplemente mal en esos diagramas. La punta de la flecha debe ser un triángulo (no uno abierto) debe apuntar en la otra dirección y se llama realizes no implements. Entonces, si no malinterpreté por completo los diagramas, el autor (del diagrama o del software que los creó) simplemente no sabía cómo usar UML correctamente.
En this diagram (encontrado por Google) puede ver una visualización correcta de una clase "SearchService" realizando (implementando) la interfaz "SiteSearch".
En the next diagram varias clases se generalizan por (especializan, se extienden) la clase "Cuenta".
En this site puede obtener una visión general (parece correcto en la primera vista). Si desea estar seguro de que debe mirar en the specification (encontrar descarga de pdf allí).
Creo que la confusión aquí surge de las variaciones en la forma en que las personas se relacionan con las sutilezas de la gramática inglesa.
Algunas personas pueden estar inclinadas a completar el "inconveniente", pero el token estándar UML "extender" como "extiende", mientras que otros lo completarán como "extendido" al visualizar o diseñar un diagrama. De ahí las diferencias en la interpretación.
- 1. ¿Por qué la flecha sube en herencia?
- 2. ¿Por qué la dirección del objeto de conversión a la misma clase apunta a resultados en otro valor de objeto?
- 3. Dirección de la flecha de asociación en diagramas de clases UML
- 4. Terminología opuesta a la comentada
- 5. ¿Por qué apunta Apache a/var/www?
- 6. ¿Por qué la dirección de la variable cambia entre ejecuciones?
- 7. obtener la dirección de memoria a la que apunta un puntero ctypes
- 8. Comprender la anotación en Java
- 9. Establecer la dirección de la flecha de UIPopover y colocarla manualmente
- 10. Comprender la salida de uname
- 11. ¿Por qué File.renameTo no cambia a dónde apunta File?
- 12. ¿Por qué recibo :: 1 como dirección IP en ASP.Net .. y cómo obtener la dirección IP correcta?
- 13. Comprender la recursividad en Java
- 14. Comprender la función de mapa
- 15. Por qué scanf debe tomar la dirección del operador
- 16. Expresión regular opuesta
- 17. ¿Cómo puedo dibujar una flecha que muestra la dirección de manejo en MapView?
- 18. Comprender la clase R en Android
- 19. Cómo obtener la dirección de la brújula
- 20. Comprender cómo funciona la prueba de software y qué probar
- 21. Modificar la dirección de desplazamiento
- 22. Guía definitiva para comprender cómo formular una dirección IPv6
- 23. Comprender la vulnerabilidad de Wordpress
- 24. Comprender la variable global en Python
- 25. Dibujar flecha en la etiqueta de lona
- 26. Python, función opuesta urllib.urlencode
- 27. ¿Por qué presionar la flecha izquierda en irb me da "^ [[D"?
- 28. ¿Qué hace la extensión de shmop PHP?
- 29. ¿Por qué se atascan mis teclas de flecha? CodeRush/VS2010
- 30. ¿Qué es la extensión de archivo .MSPX?
¿Por qué se llama darse cuenta y generalizar? –
Los autores de UML intentaron usar términos más generales. Y los "implementos" podrían confundirse con la implementación de un modelo UML en un lenguaje de programación. Mientras que "extender" no siempre es cierto para UML. Una clase más general puede incluso estar restringida por una subclase. – Christian
En el mismo diagrama, ¿cuál es el término correcto para describir la relación que el Cliente tiene con los objetos de Visitante y Elemento? – emeraldjava