161
Aprender a programar desde cero / Re:Relación entre clases C++ - Asociación.
« en: 28 de Octubre 2014, 08:48 »
Hola, estas definiciones a nivel teórico es posiblemente mejor verlas en la práctica porque así se entienden mejor. Además, lo que es "la teoría" muchas veces no existe de forma evidente en el código de programación. Y para complicarlo todavía más, según el libro que tomes como referencia se puede llamar asociación a una cosa u otra.
La asociación se podría definir como el momento en que dos objetos se unen para trabajar juntos y así, alcanzar una meta, pero siendo ambos objetos independientes.
Ejemplos de asociación sería la frase “usa un” o "tiene un", por ejemplo en la clase cliente puedes tener un objeto tarjeta de crédito:
Otro ejemplo: una Cuenta tiene como titular a un cliente:
Y en el ejemplo que pones tú, si suponemos que una persona tiene un libro:
La clave aquí es que Libro es un tipo de dato. Decimos que un objeto de tipo Persona tiene o usa un Libro (otro objeto). No escribimos string libro; sino Libro libro; donde Libro con mayúsculas es el nombre de una clase y libro con minúsculas el nombre que le ponemos al atributo (en vez de libro podría ser libroDeLaPersona o similar).
Leer esto te puede ser útil (aunque es de Java se puede aplicar a otros lenguajes): http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=511:clases-que-utilizan-objetos-relacion-de-uso-entre-clases-java-concepto-de-diagrama-de-clases-cu00641b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188
Saludos!!!!!
La asociación se podría definir como el momento en que dos objetos se unen para trabajar juntos y así, alcanzar una meta, pero siendo ambos objetos independientes.
Ejemplos de asociación sería la frase “usa un” o "tiene un", por ejemplo en la clase cliente puedes tener un objeto tarjeta de crédito:
Código: [Seleccionar]
public class Cliente{
private int id;
private String firstName;
private String lastName;
private CreditCard creditCard;
}
Otro ejemplo: una Cuenta tiene como titular a un cliente:
Código: [Seleccionar]
public class Cuenta {
private Cliente titular;
...
}
public class Cliente {
private Cuenta cuenta;
}
Y en el ejemplo que pones tú, si suponemos que una persona tiene un libro:
Código: [Seleccionar]
class Libro{
public:
string codigo;
}
class Persona{
public:
Libro libro;
}
La clave aquí es que Libro es un tipo de dato. Decimos que un objeto de tipo Persona tiene o usa un Libro (otro objeto). No escribimos string libro; sino Libro libro; donde Libro con mayúsculas es el nombre de una clase y libro con minúsculas el nombre que le ponemos al atributo (en vez de libro podría ser libroDeLaPersona o similar).
Leer esto te puede ser útil (aunque es de Java se puede aplicar a otros lenguajes): http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=511:clases-que-utilizan-objetos-relacion-de-uso-entre-clases-java-concepto-de-diagrama-de-clases-cu00641b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188
Saludos!!!!!