You are on page 1of 31

Ing.

Rodrigo Higuera
Universidad Nacional Experimental de - 2012 UCAB Guayana - Venezuela Universidad Catlica Andrs Bello Guayana- 2012 UNEG - Venezuela

Paradigmas de Programacin
Lenguajes Imperativos

Consiste en una secuencia de instrucciones y datos almacenados en memoria y de un procesador, el cual es capaz de ejecutar de manera secuencial una serie de operaciones llamadas comandos o instrucciones. Estos lenguajes ofrecen al programador conceptos que se traducen de forma natural al modelo de la mquina. Ejm. Fortran, Pascal, C, Ada Problema: Es ms cercano a la mquina que al razonamiento humano. Ventaja: Eficiencia en la ejecucin.

Paradigmas de Programacin
Lenguajes Funcionales

Basado en el uso de funciones que convierten datos en resultados. Las funciones pueden manipular datos simblicos y no slo numricos. Ejm: Lisp y scheme. Programar en lenguaje funcional significa construir a partir de funciones ya existentes => es importante conocer las funciones existentes ya definidas. Problema: No son tan eficientes debido a que son ms cercanos al razonamiento humano que al computador.

Ventaja: Son ms cercanos al razonamiento humano.

Paradigmas de Programacin
Lenguajes Lgicos Se fundamentan en la lgica de 1 orden. Se definen axiomas y reglas para deducir cosas. Estos lenguajes son conocidos como declarativos, Ejm: Prolog. El trabajo del programador se restringe a la buena descripcin del problema en forma de hechos y reglas. A partir de estos hechos se pueden encontrar muchas soluciones dependiendo como se formulen las preguntas. NO ES NECESARIO DEFINIR EL ALGORITMO DE SOLUCIN Pero se debe expresar muy bien el conocimiento del problema

Problema: No son eficientes debido a que son ms cercanos al razonamiento humano que al computador.
Ventaja: Son ms cercanos al razonamiento humano.

Paradigmas de Programacin
Lenguajes Orientados a Objetos Introducen una nueva abstraccin de datos a los lenguajes procedimentales (Objetos, Herencia, polimorfismo). Los objetos facilitan la construccin de programas, ya que manejan abstracciones del mundo real, aumentan la modularizacin y la reutilizacin. Ejm: C++, Java. Problema: Excesivo manejo de memoria dinmica y una carga fuerte de cdigo causada por la invocacin de mtodos. Ventaja: Facilitan el desarrollo de programas.

Que es?

Que es la Programacin orientada a objetos?

Estructura de POO

Abstraccin Enlace Dinmico Modularidad Jerarqua encapsulamiento

Tipos Concurrencia Polimorfismo Persistencia

Objeto

Clase

Herencia

Abstraccin

Abstraccin
Una abstraccin denota las caractersticas principales de un objeto, que la distinguen de otros objetos y proporcionan as, caractersticas especiales claramente definidas por el observador (estas pueden ser variables y dependen del observador en cuestin) Es el acto o resultado de eliminar diferencias entre los objetos, de modo que podamos ver los aspectos comunes. Enfatizar sobre los detalles importantes y olvidar los aspectos no relevantes desde perspectiva del usuario. Permite separar el comportamiento esencial de un objeto de su implementacin. Se implementa mediante la identificacin de clases.

Encapsulamiento

Encapsulamiento

Esconder todos los detalles de un objeto que no contribuyen al entendimiento de sus caractersticas esenciales.
Se refiere a incluir dentro de un objeto todo lo que ste necesita y hacerlo de forma tal que ningn otro objeto vea su estructura interna. Permite realizar cambios a los programas con poco esfuerzo.

La idea principal es proteger los datos de un objeto del uso arbitrario.


Se implementa mediante la interfaz de acceso (ICA) de los elementos que definen una clase.

Modularidad

Modularidad Descomponer un sistema en un conjunto de unidades discretas.

Est asociado al concepto de programacin modular / estructurada.


Est ntimamente relacionado con el encapsulamiento.

Los mdulos son generalmente unidades indivisibles.

Jerarqua

Jerarqua Es el acto o resultado de distinguir un concepto que es ms general que otro. La jerarqua es una manera de ordenar las abstracciones. Permite examinar si los conceptos tienen algo en comn. Nos ayuda a percibir que todas las instancias de un concepto ms especfico son tambin instancias de un concepto general. Su uso simplifica el entendimiento del problema.

Se implementa mediante las relaciones de herencia.

Tipos

Tipos Dos cosas que tienen la misma forma abstracta son anlogas es decir, son del mismo tipo. Se implementa mediante la descripcin o identificacin de los elementos que describen una clase:

datos / informacin atributos operaciones / comportamiento mtodos

Concurrencia

Concurrencia Permite a diferentes objetos actuar al mismo tiempo; cada uno de ellos tiene autonoma. Se implementa mediante el proceso de creacin o instanciacin de objetos a partir de su clase y las propiedades de identidad y estado de los objetos.

Persistencia

Persistencia Es la propiedad que un objeto tiene de existir en el tiempo y en el espacio.

Un objeto existe hasta que no sea ms necesitado y el espacio que ocupa es reutilizado.
Se implementa mediante los procesos de construccin y destruccin de los objetos definidos como parte del comportamiento de la clase.

Polimorfismo

Polimorfismo Es el fenmeno mediante el cual una operacin adopta varias formas de implementacin. Habilidad para usar el mismo smbolo para propsitos diferentes cuando el contexto es claro.

Dos operaciones completamente diferentes comparten el mismo nombre.


Ventajas: extensibilidad, cdigo compacto, claridad.

Se implementa mediante la sobrecarga de funciones y operadores.

Enlace Dinmico Un enlace es conectar una llamada de funcin al cuerpo de la funcin; cuando el enlace se lleva a cabo antes de que el programa se ejecute se llama enlace temprano o esttico; el enlace posterior o dinmico ocurre en tiempo de ejecucin.

Representa uno de los mayores avances de la Orientacin a Objetos y es una propiedad comn (no necesaria) de los lenguajes orientados a objetos.
Es un elemento necesario para poder realizar el polimorfismo. Para su implementacin, debe existir un mecanismo que determine el tipo de objeto en tiempo de ejecucin y haga la llamada a la funcin apropiada.

Objetos Son las unidades bsicas de construccin, para conceptualizacin, diseo o programacin. Son instancias organizadas en clases con caractersticas comunes. Desde la perspectiva de un programa, los objetos son mdulos que contienen datos (atributos) y las instrucciones u operaciones (mtodos) que operan sobre esos datos y trabajan juntos para proveer funcionalidad. La habilidad para reconocer objetos es una herramienta que los humanos aprenden desde muy temprana edad. 3 caractersticas: estado, identidad y comportamiento.

Formula conceptual de Objetos

Atributos

Mtodos Mensajes

Clases

Clases Son las unidades bsicas de construccin, para conceptualizacin, diseo o programacin. Define la estructura y el comportamiento de una forma abstracta o concepto para darle vida a los objetos.

Es un patrn (plantilla) que define los atributos y mtodos a ser incluidos es un tipo particular de objeto.
Se dice que un objeto es una instancia particular de una clase. Consta de dos partes: una declaracin y una implementacin.

Herencia

Herencia
Permite crear clases nuevas a partir de clases ya existentes, estableciendo niveles de jerarqua y programando slo las diferencias. Permite refinar las estructuras sin necesidad de duplicar informacin. La clase nueva (jerarqua inferior) es conocida como subclase o clase derivada y la clase de mayor nivel se denomina superclase o clase base. Segn el nmero de clases base, puede ser de dos tipos: simple (una sola clase base) y mltiple (mas de una clase base).

Con el uso de esta presentacin se acepta las condiciones abajo descritas basadas en la licencia LGPL.
La presentacin puede ser utilizada libremente por los particulares. El empleo comercial de la presentacin gratuita no est permitido. En ningn caso Rodrigo Higuera ser responsable por ningn dao indirecto, especial o consecuente que surja de o en conexin con el uso de la presentacin. En caso de preguntas o inquietudes tcnicas, no se las lleve a casa, Pregunte.

Desarrollador WEB Bajo Tecnologas LAMP LAPP. Desarrollador de Portales Web Corportivos e Institucionales bajo el uso de herramientas CMS Typolight - Joomla Drupal. E-Mail: rhiguera@ucab.edu.ve

Presentacin Orientacin a Objetos en PHP

You might also like