
























Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Documento orientado a objetos sobre la clase
Tipo: Esquemas y mapas conceptuales
1 / 32
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!

























MODELO DE DESARROLLO DE PROGRAMAS Y PROGRAMACION CONCURRENTE - 2. FAC.DE INGENIERIA - UNJu Paradigma Orientado a Objetos Prof. Adj. Esp.Ing. José Farfán JTP: Ing. Nélida Cáceres – Dr.Federico Medrano Ay: Lic. Felipe Mullicundo
Falta de Portabilidad del Código y Reusabilidad Código difícil de modificar Ciclos de Desarrollo largos Técnicas de Codificación NO Intuitivas Basado en Objetos Basado en Clases Capaz de tener HERENCIA de clases
Partes de un OBJETO Estructura de un Objeto Relaciones Permiten que el objeto se inserte en la organizac. y están formadas x punteros a otros objetos Propiedades Todo objeto puede tener cierto nro de prop., c/u de las cuales tendrá, a su vez, 1 o varios valores(matrices, vectores, listas, etc.). Además, los valores pueden ser de cualquier tipo (numérico, alfabético, etc.). Métodos Son las operaciones q pueden realizarse sobre el objeto, normalmente están incorporados en forma de programas (código) q el objeto es capaz de ejecutar y q también pone a disposición de sus descendientes a través de la herencia
RELACIONES: tipos Son esenciales p/la existencia misma de la aplicación xq la construyen. Son bidireccionales, es decir, 1objeto es padre de otro cuando el 1er.objeto se encuentra situado inmediatamente encima del 2do.en la organiz.en la q ambos forman parte. Si un objeto es padre de otro, el 2do.es hijo del 1ro. Org.Jerárq.Simple 1hijo tiene 1 solo padre (^) Org.Jerárq.Compleja1hijo tiene varios padres
Relación De-La-Especie
Se usa al nivel de clase para describir las relaciones entre dos clases similares. Ej.: programa para dibujar. Permite el dibujo de variados objetos tales como puntos, rectángulos, triángulos y muchos más. Por c/objeto, se provee una definición de clase. La clase Point define 1pto.x sus coordenadas: class Point { attributes: int x, y methods: setX(int newX) getX() setY(int newY) getY() } Un círculo define un punto central y un radio: class Circle { attributes: int x, y, radius methods: setX(int newX) getX() setY(int newY) getY() setRadius(newRadius) getRadius() }
CLASIFICACION DE LAS RELACIONES Relación De-La-Especie (cont.) Comparando ambas definiciones de clase: •Ambas clases tienen 2 elementos de datos x e y. En la clase Point estos elementos describen la posición del pto, en el caso de la clase Circle describen el centro del círculo. Así, x e y tienen el mismo significado en ambas clases: Describen la posición de su objeto asociado x medio de la definic.de1pto. •Ambas clases ofrecen el mismo conj.de mét.p/obtener y definir el valor de los2elem. x e y. •La clase Circle "añade'' un nuevo elem.radius y sus correspondientes métodos de acceso. Con las prop.de la clase Point se describe 1círculo como 1pto. +1radio +mét.p/accederlo. Las clases se dibujan usando rectángulos. Su nombre empieza con 1letra mayúscula. Las flechas indican la dirección de la relación, de ahí q se deba leer como "Circle es de-la-especie Point".
CLASIFICION DE LAS RELACIONES Relación Parte-De A veces se necesita construir objetos haciendo 1combinación de otros. Esto se hace x la programac. procedim., donde se tiene la estructura o registro p/juntar variados tipos de datos. En el programa de dibujo se quiere tener 1figura especial q representa 1logotipo propio q consiste en 1círculo y 1triángulo. Se asume q ya se tiene definida un clase Triangle. El logo consta en 2partes o, el círculo y el triángulo son parte-de logotipo: class Logo { attributes: Circle circle Triangle triangle methods: set(Point where) }
CLASIFICACION DE LAS RELACIONES Relación Tiene-Un(a) Esta relación es la inversa de la relación parte-de. Por lo tanto, se puede añadir esta relación a la ilustración parte-de añadiendo flechas en la otra dirección
Son las operaciones q realizan acceso a los datos. Se pueden definir como 1programa proced. escrito en cualquier leng., q está asociado a 1objeto determinado y cuya ejecución sólo puede desencadenarse a través de 1mensaje recibido por éste o sus descendientes. En el Paradig.Proced.se los conoce como programas, proced., fción, rutina, etc., en OOP se usa el término 'método', x la forma de invocarlo, a través de 1 msj y a su campo de acción, limitado a un objeto y a sus descendientes. Pueden heredarse, x lo tanto se clasifican en: Métodos propios Están incluidos dentro de la cápsula del objeto Métodos heredados Están definidos en 1objeto diferente, antepasado de éste (padre, abuelo, etc.). A veces estos métodos se los llaman métodos miembros xq el objeto los posee x el solo hecho de ser miembro de 1clase
Se agrupan en grupos denominados clases Contienen datos internos que definen su estado actual Soportan ocultamiento de datos Pueden heredar propiedades de otros objetos Pueden comunicarse con otros objetos enviando o pasando mensajes Tienen métodos que definen su comportamiento Características Es 1 entidad lógica q contiene datos y un código especial q indica manipular los datos. En el momento de la ejecución se puede degradar el diseño del programa. Son construcciones de program.q se obtienen a partir de entidad.llamadas clases. El programador tiene la responsab.de crear clases propias, pero también puede tener acceso a clases desarrolladas x otros Ejemplo: diseño de un Objeto. class nomina {nomina empleado; char nombre[30]; float salario; }; (nomina es una clase ) (empleado es un objeto)
Identificadores de Diseño de una Clase P/usar una clase, 1ro.hay q declararla. La declaración de una clase puede aparecer sólo 1 vez en un programa. Ej. declaración de una clase simple: class counter { long count; // Variable miembro de la clase public: void SetCount(long); long GetValue( ); };
CLASE Cuerpo de una Clase En el siguiente ej. la variable count se define dentro del cuerpo de la clase. Por lo tanto, count recibe el nombre de variable miembro de la clase class counter { long count; public: count = 3; //se genera un error ya q count no se encuentra definido. Cualquier variable definida en 1clase tiene 1campo de acción. Se produce 1 error al intentar el acceso a 1variable miembro después de la declaración de la clase o fuera del campo de acción de la clase.
Componentes de una Clase P/definir 1 clase se debe tomar en cta.q consta de 2partes: 1declaración y 1implementación.
. La declaración lista los miembros de la clase. . La implementación o cuerpo define las funciones de la clase. class nomina {nomina empleado; char nombre[30]; float salario; }; (nomina es una clase ) (empleado es un objeto) …………………………………………………….. class contador{ long cuenta; public: void leervalor(long); long obtenervalor( ); }; Implementación de una clase void contador::leerValor(long valor) { cuenta = valor, } long contador::obtenerValor( ) { return cuenta;} } Declaración de una clase Fciones miembro de la clase
Encapsulamiento Prop.x la q c/objeto es 1estruct.compleja en cuyo interior hay datos y programas relacionados entre sí, encerrados en 1 cápsula (Caract. Fundam.en la OOP). Ocultación de la Información Prop. x la q los objetos son inaccesibles, e impiden que otros objetos, us., o incluso los programadores conozcan cómo está distribuida la inform. o q inform. hay disponible. No significa, q sea imposible conocer lo necesario a 1 objeto y a lo q contiene. Las peticiones de inform.a 1objeto, deben realizarse a través de msjes dirigidos a él, con la orden de realizar la operación pertinente. La respuesta a estas órdenes será la información requerida, siempre que el objeto considere q quien envía el msje está autorizado p/obtenerla. El hecho de q c/objeto sea 1cápsula facilita q 1 objeto determinado pueda ser transportado a otro punto de la organiz., o incluso a otra organización totalmente diferente. Si el objeto se construyó correctamente, sus métodos seguirán funcionando en el nuevo entorno sin problemas. Esta cualidad hace que la OOP sea muy apta para la reutilización de programas.