2012-02-23 19 views
8

En C++ ya que la herencia privada no se considera una relación is-a, ¿cómo se supone que se muestra en un diagrama de clase y si se muestra como una relación has-a? se debe diferenciar entre una composición y una herencia privada?Cómo mostrar la relación de herencia privada en un diagrama de clase UML

+4

Esta es una excelente pregunta. El problema es que la herencia privada es un oxímoron, por lo que no forma parte del diccionario UML. Lo mostraría como has-a con un comentario que indica que es heredado en privado. Otra opción es refactorizar su diseño para evitar la herencia privada: los casos en que debe tenerlo son pocos y distantes entre sí, por lo que es probable que un simple plan funcione bien. – dasblinkenlight

Respuesta

2

Debe ser una relación Composición (sólido diamante negro en el lado subclase), debido a que:

  • herencia privada significa "implementado en términos de", pero en este sentido puede ser simplemente tratados de la misma como " tiene una "relación".
  • Una instancia de la subclase posee claramente la parte básica del objeto y la propiedad no se comparte con ningún otro objeto.
Cuestiones relacionadas