Conceptos Esenciales de Programación Orientada a Objetos y Diseño Modular
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 3,25 KB
Conceptos Fundamentales de Programación Orientada a Objetos (POO)
Objeto
Paquete de software independiente formado por un conjunto de datos junto con los procedimientos que operan sobre estos datos. Todo lo que sabe se expresa en sus atributos y todo lo que puede hacer, en sus métodos.
Clase
Implementación total o parcial de un Tipo de Dato Abstracto (TAD). Se puede ver como una plantilla que describe objetos que tendrán la misma estructura y comportamiento. Componentes: atributos, operaciones (métodos).
Instancia
Estructura construida a partir de los atributos descritos para la clase.
Instanciación
Creación de un objeto a partir de una clase.
Herencia
Establece una estructura jerárquica en la que cada clase hereda atributos y métodos de las clases superiores.
Asociación
Relación estructural que describe una conexión entre objetos.
Agregación
Cuando una clase está estructuralmente compuesta por otras clases.
Abstracción
Supresión intencionada u ocultamiento de algunos detalles de un proceso con el objetivo de destacar de manera más clara otros aspectos. La Encapsulación es el proceso para almacenar en el mismo compartimento los elementos de una abstracción.
Polimorfismo
Capacidad de los diferentes objetos para responder de distinta forma a la misma operación. Permite enviar el mismo mensaje a objetos y que cada uno responda de la forma apropiada según el tipo de objeto que sea, ejecutando su método.
Clase Abstracta
Útiles para aislar en clases conceptos incompletos, aunque coherentes y cohesivos. No pueden ser instanciadas directamente.
Principios y Criterios de Diseño Modular
Descomposición Modular
Ayuda a descomponer el problema en un pequeño número de subprogramas menos complejos, interconectados e independientes.
Composición Modular
Favorece la producción de elementos de software que se puedan combinar unos con otros para producir sistemas.
Comprensibilidad Modular
Ayuda a producir software en el cual un lector humano puede entender cada módulo sin conocer otros.
Continuidad Modular
Cuando un problema provoca solo cambios en un módulo o en pocos.
Protección Modular
Si en caso de una situación anormal dentro de un módulo, solo afecta a ese módulo o a pocos.
Ocultación de Información
Consiste en ocultar detalles de la implementación al código cliente. En la interfaz se muestra el contenido que el cliente ve, y la implementación es la parte privada visible dentro del módulo.
Auto-documentación
Relacionado con los criterios de comprensibilidad y continuidad modular. La información que necesita un módulo debe tenerla el mismo.
Acceso Uniforme
Los servicios ofrecidos por un módulo deben estar disponibles mediante una notación uniforme que no considere si se han implementado mediante almacenamiento o cálculo.
Principio Abierto/Cerrado
Abierto si se puede ampliar; cerrado si está disponible para su uso.
Elección Única
Si un sistema de software debe manejar una lista de variantes, solo un módulo debe conocerla.