Zusammenfassung der Ressource
PROGRAMACIÓN ORIENTADA A
OBJETOS Y UML I
- Propiedades
- Abstracción
- Proceso crucial de representar la información en términos de su interfaz con el usuario
- Encapsulamiento y
ocultación de datos
- Objeto
- Manipulación: Datos + Funciones
- Funciones miembro o métodos
- Se comunica por medio de mensajes
- Permite una modificación
- Los elementos dato = atributos/variables de instancia (Un objeto específico)
- No necesariamente algo concreto o tangible puede ser totalmente abstracto describiendo un proceso
- Instancia = Describe un objeto en la práctica múltiples de objetos
- TAD (tipos de datos abstractos): Clases
- Empaqueta diferentes propiedades o restricciones
- Clase = Es la implementación de un tipo abstracto de dato de atributos (Datos) y operaciones (Comportamiento)
- Se puede manipular con operaciones definidas = interpretado como el envío de un mensaje
- Polimorfismo
- Es una operación que tiene el mismo nombre en diferentes clases, pero ejecuta de diferentes formas cada clase
- La sobrecarga es una derivación de operadores y funciones
- Herencia
- El concepto clase se divide a su vez en subclases
- Estas tienden a organizarse en jerarquías denominadas generalización (es-un)
- Reusabilidad o
reutalización de código
- Proporciona una ampliación o extensión a la idea de reusabilidad añadiéndole nuevas caraterísticas
- Reutilización de código: Mejora la productividad, reduce el código, y soporta el concepto de abstracción de funcionalidad común
- Escribir el código correspondiente a una cola de prioridades
- La biblioteca estándar de plantillas TL incorpora un contenedor prioty-queue (cola de prioridad)
- Reescritura de código reusable: Diseña de modo que pueda reutilizar sus clases, sus algoritmos y sus estructuras de datos.
- Programación estructurada
- Conceptos fundamentales
- Sentencia = instrucción
- Secuenciales
- If, then, case
- Repetitivas
- for, while y do-while
- Lista = Conjunto
- Modulo = Agrupación
- Funciones = Componentes agrupados
- Compuesto
- Datos = Información que se utiliza y procesa
- Algoritmos = métodos que se utilizan
- Limitaciones
- Datos globales = pueden ser accedido por cualquier función
- Datos locales = Se utiliza exclusivamente por la función
- Modelado de objetos
- Objeto (Unidad)
- Atributos = características (datos)
- Comportamiento = acción determinada (funciones)
- Etapas necesarias para modelar un sistema
- 1. Identificación de los objetos del problema
- 2. Agrupamiento en clases (tipos de objetos) de los objetos con características y comportamiento comunes
- 3. Identificación de los datos y operaciones de cada una de las clases
- 4. Identificación de las relaciones existentes entre las diferentes clases del modelo
- Modelado e identificación de objetos
- Estado = Conjunto de valores de todos los atributos de un objeto
- Estos valores han de cumplir siempre las restricciones = invariantes
- Comportamiento = Conjunto de operaciones que se pueden realizar sobre un objeto
- Modificación
- Estas operaciones se realizan tras la recepción de un mensaje o estímulo externo
- Las interacciones se representan mediante diagramas de objetos
- Identidad = Posee identidad de manera implícita
- Modelado de aplicaciones: UML
- Se utiliza en las fases de análisis y diseño con el fin de gestionar la complejidad para simplificar
- El bloque básico es un diagrama
- Con propósitos específicos (diagramas de tiempo)
- Algunos con usos más genéricos (diagramas de clases)
- Notación: un medio de expresar el modelo/ un meta-modelo
- Lenguaje de modelado
- Sintaxis: Cómo se utilizan los símbolos para representar elementos y cómo se combinan
- Semántica: Explican lo que significa cada símbolo y cómo se deben interpretar
- Pragmática: Definen las intenciones de los símbolos a través del propósito y comprensión
- Características
- Estructura estática: Describe los tipos de objetos más importantes para modelar el sistema
- Comportamiento dinámico: Describe los ciclos de vida y cómo interactúan entre sí para conseguir la funcionalidad
- Ventajas
- Es un lenguaje formal, conciso, comprensible, completo, escalable, es un estándar y está construido sobre la filosofía de "lecciones aprendidas".
- Diseño de software con UML
- Diagramas estructurales
- Diagramas de clases, estructuras, componentes, estructuras compuestas, despliegue, objetos.
- Diagramas de comportamientos
- Diagramas de actividad, comunicación, interacción, secuencia, máquinas de estado, tiempo, caso de uso.
- Convenciones de código
- Clases de interfaces: La primera letra debe ser mayúscula, las clases deben ser sustantivas y las interfaces adjetivos
- Los métodos: Tienen la primera letra en minúscula, y la siguiente palabra empieza en mayúscula, deben denotar una acción
- Las variables: Tienen la primera letra en minúscula, y la siguiente palabra empieza en mayúscula, deben denotar un sustantivo
- Constantes: Debe ser totalmente en mayúsculas y separadas por línea al piso
- Historia
- Primera Etapa. Lenguajes Ensambladores. La unidad de programación es la instrucción, compuesta de un
operador y los operandos.
- Segunda Etapa. Lenguajes de Programación: Fortran, Algol, Cobol. Los objetos y operaciones del
mundo real se podían modelar mediante datos y estructuras de control separadamente.
- Tercera Etapa. Se introducen en esta etapa los conceptos de abstracción y ocultación de la
información. Programación Orientada a objetos.
- Cuarta Etapa. En estos lenguajes, la abstracción de datos tiene una gran importancia y los problemas del
mundo real se representan mediante objetos de datos a los cuales se les añade el correspondiente conjunto
de operaciones asociados a ellos.