Beruflich Dokumente
Kultur Dokumente
Sesión No. 8
Contextualización
Introducción al Tema
Estas posibilidades de trabajo se dan para tener una mayor interacción con los
usuarios y que el sistema pueda trabajar de forma más estable sin tener que
presentar correcciones de código o arreglar las fallas por medio de constantes
actualizaciones.
Explicación
¿Qué es la asociación?
Asociación de objetos
Es la forma en como los elementos pueden conectar entre ellos y establecer una
relación de trabajo para ofrecer un resultado en común, esta relación o
asociación se puede dar entre elementos, como en clases.
Una asociación se representa por medio de líneas entre clases, las asociaciones
pueden ser de tipo inherente bidireccional, por lo que cualquiera de las clases
desde las instancias puede tener un recorrido lógico hacia otra.
El uso de las asociaciones presenta varios elementos más, dentro de los cuales
se establecen relaciones importantes de uso, algunos de los tipos de
asociaciones que podemos contemplar para el desarrollo de sistemas son:
Agregación de objetos
Composición de objetos
//Composicion de clases.
#include <iostream>
using std::cout;
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS 6
using std::endl;
using std::cin;
#include <cstring>
class Punto {
private: int x; int y; public:
Punto(int = 0, int = 0);
void establecerX(int);
void establecerY(int);
int obtenerX();
int obtenerY(); };
class Ciudad { private: char nombre[50];
Punto coordenada;//Tiene un objeto miembro Punto public: Ciudad(char * = "",
const Punto & = Punto(1,1));
//tiene parametros por defecto. void establecerNombre(char *);
void establecerCoord(int,int);
void imprimir(); }; //Funciones miembro de clase Punto Punto::
Punto(int enX, int enY) { establecerX(enX);
establecerY(enY);
} void Punto::establecerX(int enX) { x= enX;
} void Punto::establecerY(int enY) { y= enY;
} int Punto::obtenerX() { return x;
} int Punto::obtenerY() { return y;
} //Funciones miembro de clase Ciudad Ciudad::Ciudad(char *Nombre, const
Punto & CORDE): coordenada(CORDE)//inicializador de miembro.
{ establecerNombre(Nombre);
} void Ciudad::establecerNombre(char *nomciudad) { int cantLetras =
strlen(nomciudad);
if (cantLetras > 49) cantLetras = 49;
strncpy(nombre,nomciudad,cantLetras);
nombre[cantLetras + 1] = '\0';
} void Ciudad::establecerCoord(int enX, int enY) { coordenada.establecerX(enX);
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS 7
coordenada.establecerY(enY);
} void Ciudad::imprimir() { cout << "Ciudad: "<< nombre << endl;
cout << "Coordenadas: (" << coordenada.obtenerX() << "," <<
coordenada.obtenerY() << ")";
cout << endl;
} int main() { Punto A(45,35);
Punto B(1245,456);
Ciudad bsas("BuenosAires",A);
cout << "Primera bsas:" << endl;
bsas.imprimir();
Ciudad stafe("SantaFe",B);
cout << "Segunda stafe:" << endl;
stafe.imprimir(); Ciudad compo;
//con los parametros por defecto.
cout << "Tercera compo con parametros por defecto:" << endl;
compo.imprimir();
compo.establecerCoord(457,789);
compo.establecerNombre("Compostela");
cout << "Cuarta compo, despues de establecerle los parámetros:"
<< endl; compo.imprimir(); return 0; }
Código obtenido de http://codigomaldito.blogspot.mx/2005/12/composicin-objetos-miembro.html
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS 8
Conclusión
Se pueden definir varias funciones dentro de las clases y objetos con lo que se
cumplirá el objetivo principal de su desarrollo. Se tiene la oportunidad de
personalizar varios elementos, esto dependerá de las capacidades y atributos
que ofrezcan los lenguajes de programación con que se desarrollará la pieza de
software. No se tiene un establecido en cuanto a un lenguaje, ya que se cumplen
diferentes funciones y trabajan en distintas plataformas.
Actividad de Aprendizaje
Instrucciones
Datos generales.
Referencias bibliográficas y/o cibergráficas.
Ortografía y redacción.
Título.
Diagrama.
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS 12
Cibergrafía
http://fcasua.contad.unam.mx/apuntes/interiores/docs/98/opt/java.pdf