2. PARADIGMAS ESTRUCTURADAS PARADIGMAS ORIENTADA A OBJETOS
El término de programación estructurada utiliza un
número limitado de estructuras de control que
minimizan la complejidad de los programas y, por
consiguiente, reducen los errores; hacen los
programas más fáciles de escribir, verificar, leer y
mantener. Los programas deben estar dotados de
una estructura.
La programación orientada a objetos o POO (OOP según sus
siglas en inglés) es un paradigma de programación que usa
los objetos en sus interacciones, para diseñar aplicaciones y
programas informáticos. Está basado en varias técnicas,
incluyendo herencia, cohesión, abstracción, polimorfismo, acopl
amiento y encapsulamiento. Su uso se popularizó a principios
de la década de los años 1990. En la actualidad, existe
variedad de lenguajes de programación que soportan la
orientación a objetos.
Características: Esta basado en técnicas,
incluyendo herencia, abstracción,
Es una forma de programación que utiliza
únicamente tres estructuras secuencia,
polimorfismos, y encapsulamiento
Instrucción condicional, Interacción (bucle de
instrucciones) con condición al
ABSTRACCIÓN: denota las características
esenciales de un objeto, donde se
principio una forma de representar y manipular
el conocimiento representa un capturan sus
comportamientos.
Enfoque particular o filosofía para la
construcción del software se divide en
ENCAPSULAMIENTO: Significa reunir a todos
los elementos que pueden bloques
independientes (procedimientos y funciones.
considerarse pertenecientes a una misma
entidad
Características
Abstracción
Significa extraer las propiedades esenciales de un objeto que lo
distinguen de los demás tipos de
Objetos y proporciona fronteras conceptuales definidas respecto al
punto de vista del observador.
Es la capacidad para encapsular y aislar la información de diseño y
ejecución.
Encapsulamiento
Es el proceso de almacenar en un mismo compartimiento (una caja
negra) los elementos de una
Abstracción (toda la información relacionada con un objeto) que
constituyen su estructura y su
Comportamiento. Esta información permanece oculta tanto para los
usuarios como para otros objetos
Y puede ser accedida solo mediante la ejecución de los métodos
adecuados.
Herencia
Es la propiedad que permite a los objetos construirse a partir de otros
objetos.
La clase base contiene todas las características comunes. Las sub-
clases contienen las
Características de la clase base mas las características particulares de
la sub-clase.
Si la sub-clase hereda características de una clase base, se trata
de herencia simple.
Si hereda de dos o más clases base, herencia múltiple.
Polimorfismo
Literalmente significa "cualidad de tener más de una forma". En poo, se
refiere al hecho que una
Misma operación puede tener diferente comportamiento en diferentes
objetos. En otras palabras,
Diferentes objetos reaccionan al mismo mensaje de modo diferente.
3. Ventajas
de la programación estructurada comparada con el
modelo anterior (hoy llamado
despectivamente código espagueti).
Los programas son más fáciles de entender,
pueden ser leídos de forma secuencial y no
hay necesidad de hacer engorrosos
seguimientos en saltos de líneas (GOTO)
dentro de los bloques de código para intentar
entender la lógica.
La estructura de los programas es clara,
puesto que las instrucciones están más
ligadas o relacionadas entre sí.
Reducción del esfuerzo en las pruebas y
depuración. El seguimiento de los fallos o
errores del programa ("debugging") se facilita
debido a su estructura más sencilla y
comprensible, por lo que los errores se pueden
detectar y corregir más fácilmente.
Reducción de los costos de mantenimiento.
Análogamente a la depuración, durante la fase
de mantenimiento, modificar o extender los
programas resulta más fácil.
Los programas son más sencillos y más
rápidos de confeccionar.
Se incrementa el rendimiento de los
programadores, comparado con la forma
anterior que utiliza GOTO.
Ventajas:
- Datos separados del Diseño.
- Reutilización del código.
-Entendimiento del programa en el mundo real.
- Fácil entendimiento de la lógica del programa.
- Código simple (aunque cueste acostumbrarse).
- Fácil documentación y diseño del programa.
- Dinamismo en el manejo de los datos.
- Facilidad en el mantenimiento y expansión.
Desventajas:
- Complejidad para adaptarse.
- Mayor cantidad de código (aunque a la larga no, por la
reutilización).