Vous êtes sur la page 1sur 6

.!! .! !

/, /


1
1.3 Y 1.4 PARADIGMAS DE
PROGRAMACION: CLASIFICACIN E
IMPORTANCIA
PARADIGMA:
Un paradigma es un conjunto de reglas que
"rigen" una determinada disciplina. Ests
"reglas" se asumen normalmente como
"verdades
incuestionables",
porque son "tan
evidentes" que se
tornan transparentes
para los que estn
inmersos en ellas.
Como el aire para las
personas o el agua para
el pez.
Lo que se vive hoy son
permanentes "cambios paradigmticos", en
la educacin, la economa, los negocios, las
empresas, la poltica, la informtica, etc.
es decir un permanente cambio de las
reglas. Los que se anticipan a los cambios
son los innovadores, aquellos que empiezan
cuestionando los paradigmas

Qu es un paradigma de programacin?
1. Un paradigma de programacin
provee (y determina) la visin y
mtodos de un programador en la
construccin de un programa o
subprograma. Diferentes
paradigmas resultan en diferentes
estilos de programacin y en
diferentes formas de pensar la
solucin de problemas (con la
solucin de mltiples problemas
se construye una aplicacin).

2. Un paradigma de programacin es
una coleccin de modelos
conceptuales que juntos modelan el
proceso de diseo y determinan, al
final, la estructura de un programa.

Esa estructura conceptual de
modelos est
pensada de forma
que esos modelos
determinan la
forma correcta de
los programas y
controlan el
modo en que
pensamos y
formulamos
soluciones, y al
llegar a la
solucin, sta se debe de expresar
mediante un lenguaje de
programacin. Para que este
proceso sea efectivo las
caractersticas del lenguaje deben
reflejar adecuadamente los modelos
conceptuales de ese paradigma.


Los lenguajes de programacin son basados
en uno o ms paradigmas Por ejemplo:
Smalltalk y Java son lenguajes basados en el
paradigma orientado a objetos. El lenguaje
de programacin Scheme, en cambio,
soporta slo programacin funcional. En
cambio Python, soporta mltiples
paradigmas.


.!! .! ! /, /


2
Clasificacin por paradigmas de
programacin:



La Programacin Declarativa: est basada en
el desarrollo de programas especificando o
"declarando" un conjunto de condiciones,
proposiciones, afirmaciones, restricciones,
ecuaciones o transformaciones que
describen el problema y detallan su solucin.
La solucin es obtenida mediante
mecanismos internos de control, sin
especificar exactamente cmo encontrarla,
por ejemplo Prolog y Lisp.

La Programacin Imperativa: es la ms
comn y ms conocida. Los programas
imperativos son un conjunto de instrucciones
que le indican a la computadora cmo
realizar una tarea .Est representada por C,
Basic, Fortran, etc. La Programacin
Funcional es la que emplea un lenguaje
matemticamente elegante, empleando
principalmente funciones aritmticas y
pertenece tambin al grupo de lenguajes
declarativos; algunos ejemplos son Haskell,
Miranda y Scheme.

La Programacin Lgica: permite formalizar
hechos del mundo real y forma parte de los
programas declarativos. El lenguaje lgico
por excelencia es Prolog, que a la vez es
declarativo.

La Programacin Orientada a Objetos:
intenta simular el mundo real a travs del
significado de objetos que contiene
caractersticas y funciones. Los lenguajes
orientados a objetos se clasifican como
lenguajes de quinta generacin y forman
parte de la programacin imperativa. Se basa
en la idea de un objeto, que es una
combinacin de variables locales y
procedimientos llamados mtodos que
juntos conforman una entidad de
programacin. En la actualidad, existe una
gran variedad de lenguajes de programacin
que soportan la orientacin a objetos.

Ejemplos de estos lenguajes son C++, Java,
Smalltalk, Ruby on Rails, Python y JavaScript,
entre muchos otros .A continuacin har una
descripcin breve de los dos ltimos.

.!! .! ! /, /


3
1.5 DIFERENCIA ENTRE LA PE Y LA
POO

PROGRAMACIN ORIENTADA A OBJETOS

El paradigma de la POO se basa en la idea de
que el mundo puede ser modelado como un
conjunto de objetos que interactan entre
s; programar se reduce entonces a
identificar dichos objetos y copiar
adecuadamente las caractersticas y
comportamientos. El objetivo central del
diseo es que todo elemento del mundo
(objeto real) corresponda directamente a un
objeto del mundo computacional (objeto
formal) que lo modele. El proceso de
programacin se puede resumir de la
siguiente manera:
1. Identificar las clases de objetos y sus
atributos
2. Identificar y especificar sus
operaciones
3. Implantar las clases de objetos.

Cada uno de estos pasos corresponde a
refinamientos progresivos, buscando cada
vez el mejoramiento del modelaje que se
est haciendo del mundo. Tambin es muy
usual tener que regresar a pasos anteriores
para mejorar algn aspecto del diseo.


PROGRAMACIN ESTRUCTURADA

La metodologa de la programacin
estructurada est basada en la idea que se
requiere para resolver un problema y no el
mundo en el cual este ocurre. El modelo
representa una solucin al problema y
corresponde a un conjunto de procesos
jerrquicos conectados por medio de flujos
de datos, el cual se logra utilizando la
tcnica de refinamiento a pasos para
descomponer las funciones del sistema. Un
proceso o mdulo es una serie de
instrucciones que puede ser invocada por su
nombre, encargada de transformar los
datos de entrada en datos de salida. La
jerarqua entre los procesos significa que la
funcin que realiza un mdulo, o el
problema que se resuelva, puede ser
descompuesto en varios subprocesos; cada
uno de ellos resuelve un subproblema del
problema final. La definicin de los flujos
de datos que intervienen en el modelo es lo
que se llama diccionario de datos.

Se puede esquematizar este proceso de
construccin del modelo en los siguientes
pasos:

Formalizar los resultados del anlisis
Identificar los mdulos
Elaborar el diccionario de datos
Especificar los mdulos
Implantar los mdulos.



1.6 QU ES LA POO?
1


Introduccin a la programacin orientada a
objetos (POO)



La POO es un paradigma de programacin
(o tcnica de programacin) que utiliza

1
POO y MVC en PHP de Eugenia Bahit
.!! .! ! /, /


4
objetos e interacciones en el diseo de un
sistema.
Elementos de la POO


La POO est compuesta por una serie de
elementos que se detallan a continuacin.


Clase
Una clase es un modelo que se utiliza para
crear objetos que comparten un mismo
comportamiento, estado e identidad.


Metfora
Persona es la metfora de una clase (la
abstraccin d Juan, Pedro, Ana y Mara), cuyo
comportamiento puede ser caminar, correr,
estudiar, leer, etc. Puede estar en estado
despierto, dormido, etc. Sus caractersticas
(propiedades) pueden ser el color de ojos,
color de pelo, su estado civil, etc.


class Persona {
# Propiedades
# Mtodos
}



Objeto
Es una entidad provista de mtodos o
mensajes a los cuales responde
(comportamiento); atributos con valores
concretos (estado); y propiedades
(identidad).

$persona = new Persona();
/* El objeto, ahora, es $persona, que se ha
creado siguiendo el modelo de la clase
Persona*/

Mtodo
Es el algoritmo asociado a un objeto que
indica la capacidad de lo que ste puede
hacer.

function caminar() {
#...
}


Evento y Mensaje
Un evento es un suceso en el sistema
mientras que un mensaje es la comunicacin
del suceso dirigida al objeto.


Propiedades y atributos
Las propiedades y atributos, son variables
que contienen datos asociados a un objeto.

$nombre = 'Juan';
$edad = '25 aos';
$altura = '1,75 mts';





.!! .! ! /, /


5
Caractersticas conceptuales de la POO



La POO debe guardar ciertas caractersticas
que la identifican y diferencian de otros
paradigmas de programacin. Dichas
caractersticas se describen a continuacin.


Abstraccin
Aislacin de un elemento de su contexto.
Define las caractersticas esenciales de un
objeto.


Encapsulamiento
Rene al mismo nivel de abstraccin, a
todos los elementos que puedan
considerarse pertenecientes a una misma
entidad.


Modularidad
Caracterstica que permite dividir una
aplicacin en varias partes ms pequeas
(Denominadas mdulos), independientes
unas de otras.

Ocultacin (aislamiento)
Los objetos estn aislados del exterior,
protegiendo a sus propiedades para no ser
modificadas por aquellos que no tengan
derecho a acceder a las mismas.


Polimorfismo
Es la capacidad que da a diferentes
objetos, la posibilidad de contar con
mtodos, propiedades y atributos de igual
nombre, sin que los de un objeto interfieran
con el de otro.


Herencia
Es la relacin existente entre dos o ms
clases, donde una es la principal (madre) y
otras son secundarias y dependen (heredan)
de ellas (clases hijas), donde a la vez, los
objetos heredan las caractersticas de los
objetos de los cuales heredan.


Recoleccin de basura
Es la tcnica que consiste en destruir
aquellos objetos cuando ya no son
necesarios, liberndolos de la memoria.





.!! .! ! /, /


6
1.7 BENEFICIOS DE LA POO
La Programacin Orientada a Objetos tiene
las siguientes ventajas respecto a otros
paradigmas de la programacin:

BENEFICIOS
1. Fomenta la reutilizacin y extensin
del cdigo.
2. Facilita el mantenimiento del
software.
3. Permite crear sistemas ms
complejos.
4. Agiliza el desarrollo de software.
Facilita la creacin de programas
visuales.
5. Facilita el trabajo en equipo.
6. Relacionar al sistema al mundo real.
7. Datos separados del Diseo.

Otros beneficios son

Reusabilidad: Cuando hemos
diseado adecuadamente las clases,
se pueden usar en distintas partes
del programa y en numerosos
proyectos.
Mantenibilidad: Debido a la sencillez
para abstraer el problema, los
programas orientados a objetos son
ms sencillos de leer y comprender,
pues nos permiten ocultar detalles
de implementacin dejando visibles
slo aquellos detalles ms
relevantes.
Modificabilidad: La facilidad de
aadir, suprimir o modificar nuevos
objetos nos permite hacer
modificaciones de una forma muy
sencilla.
Fiabilidad: Al dividir el problema en
partes ms pequeas podemos
probarlas de manera independiente
y aislar mucho ms fcilmente los
posibles errores que puedan surgir.
La programacin orientada a objetos
presenta tambin algunas desventajas como
pueden ser:
PROBLEMAS
Cambio en la forma de pensar de la
programacin tradicional a la
orientada a objetos.
La ejecucin de programas
orientados a objetos es ms lenta.
La necesidad de utilizar bibliotecas
de clases obliga a su aprendizaje y
entrenamiento.
Complejidad para adaptarse.
Mayor cantidad de cdigo (aunque a
la larga no, por la reutilizacin).

Vous aimerez peut-être aussi