PARADIGMA
DE PROGRAMACIÓN ORIENTADO A OBJETOS
¿Qué es un Paradigma?
Es una metodología de desarrollo
que se basa en dividir el programa en pequeñas unidades lógicas
insurreccionadas llamadas, cada uno de los cuales representan una instancia de
alguna clase, y cuyas clases son miembros de jerarquías de clases unidas mediante
relaciones de herencia.
Un paradigma de programación
provee (y determina) la visión y métodos de un programador en la construcción
de un programa o subprograma. Diferentes paradigmas resultan en diferentes
estilos de programación y en diferentes formas de pensar la solución de
problemas (con la solución de múltiples “problemas” se construye una
aplicación).
Los lenguajes de programación son
basados en uno o más paradigmas, por ejemplo : Smalltalk y Java son lenguajes
basados en el paradigma orientado a objetos. El lenguaje de programación
Scheme, en cambio, soporta sólo programación funcional. En cambio Python,
soporta múltiples paradigmas.
Principales
paradigmas de programación
Paradigma
Funcional:
Este paradigma concibe a la computación como la
evaluación de funciones matemáticas y evita declarar y cambiar datos. En otras palabras,
hace hincapié en la aplicación de las funciones y composición entre ellas, más que
en los cambios de estados y la ejecución secuencial de comandos (como lo hace
el paradigma procedimental). Permite resolver ciertos problemas de forma elegante
y los lenguajes puramente funcionales evitan los efectos secundarios comunes en
otro tipo de programaciones.
Paradigma
Lógico:
Se basa en la definición de
reglas lógicas para luego, a través de un motor de inferencias lógicas,
responder preguntas planteadas al sistema y así resolver los problemas. Ej.:
prolog.
Paradigma
Imperativo(o procedural):
Describe la programación como una secuencia instrucciones
o comandos que cambian el estado de
un programa. El código máquina en general está basado en el paradigma
imperativo. Su contrario es el paradigma declarativo. En este
paradigma se incluye el paradigma procedimental (procedural) entre
otros C, Pascal.
Paradigma
Orientado a Objetos:
Está basado en la idea de
encapsular estado y operaciones en objetos. En general, la programación se
resuelve comunicando dichos objetos a través de mensajes (programación
orientada a mensajes). Su principal ventaja es la reutilización de códigos y su
facilidad para pensar soluciones a determinados problemas, es una forma
especial de programar, es lo más cercano a como expresaríamos las cosas en la
vida real, esto es lo que marca la diferencia con otros tipos de programación. En
Java todo es representado como un Objeto. Se puede incluir -aunque no
formalmente- dentro de este paradigma, el paradigma basado en objetos, que
además posee herencia y subtipos entre objetos. Ej.: Simula, Smalltalk, C++,
Java, Visual Basic .NET, etc.
Paradigma
Declarativo:
No se basa en el cómo se hace algo (cómo se
logra n objetivo paso a paso), sino que describe (declara) cómo es algo. En
otras palabras, se enfoca en describir las propiedades de la solución buscada,
dejando indeterminado el algoritmo (conjunto de instrucciones) usado para
encontrar esa solución. Es más complicado de implementar que el paradigma
imperativo, tiene desventajas en la eficiencia, pero ventajas en la solución de
determinados problemas.
Paradigma
Estructurado:
La programación se divide en bloques
(procedimientos y funciones) que pueden o no comunicarse entre sí. Además la
programación se controla con secuencia, selección e iteración. Permite
reutilizar código programado y otorga una mejor compresión de la programación.
Es contrario al paradigma inestructurado, de poco uso, que no tiene ninguna
estructura, es simplemente un “bloque”, como por ejemplo, los archivos batch (.bat).
Otros
paradigmas y subparadigmas son:
Paradigma orientado al
sujeto, paradigma Reflectante, programación basada en reglas, paradigma basado
en restricciones, Programación basada en prototipos, paradigma orientado a
aspectos, etc.
No hay comentarios:
Publicar un comentario