Digamos que tengo la siguiente clase:
public class ParentClass{}Y una de sus clases de niños es:
public class ChildClass extends ParentClass{}Consideremos otra clase:
public class Foo{ private ParentClass field; public Foo(){ field = new ChildClass(); } public static void main(String[] args){ Foo foo = new Foo(); } } Al dibujar el Diagrama de objetos de foo , no sé si tengo que escribir ChildClass :
O ParentClass :
En el campo de su programa hay una instancia de ChildClass , el objetivo del diagrama de objeto es mostrar instancias con su tipo efectivo (y su valor de atributos, si lo tienen) => el diagrama correcto para usar es
[editar de comentarios a mi respuesta]
También es legal usar el segundo diagrama, pero oculta el hecho de que la instancia es con seguridad una instancia de ChildClass , por lo que es mejor usar el primer diagrama para indicarlo.
Olvidé mencionar en ambos diagramas que la línea entre las dos instancias no corresponde a la única asociación entre ellos, una forma correcta de hacerlo para el primer diagrama es:
teniendo en cuenta que su instancia de Foo se guarda a través de una variable llamada foo , parece razonable nombrar foo su instancia de Foo