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.

Entradas relacionadas: