Está en la página 1de 11

ENSAYO DE APRENDIZAJE.

PRESENTA

ROSAS BARAJAS LUIS ABRAHAM

MATERIA

PROGRAMACIN ORIENTADA A OBJETOS.

ASESOR

HIGINIO RODRIGUEZ SOLIS

ZIHUATANEJO GUERRERO, MXICO


FEBRERO, 2014

Marco terico. Introduccion. Elementos del modelo de objetos. o Clases. Metodos de clases. Propiedades de una clase. o Objeto. o Abstraccin. o Modularidad. o Encapsulamiento. o Herencia. o Polimorfismo. o Conclusion. o Referencias.

Introduccin.
La programacin orientada a objetos es una tcnica o estilo de programacin (paradigma) que utiliza todos los elementos programables como objetos, es decir todo lo que es maleable dentro del cdigo, se considera objeto. Entonces la orientacin a objetos es un paradigma de programacin que facilita la elaboracin de software mediante elementos que potencian y optimizan el modelo de vida de software en el caso de: el mantenimiento, la extensin y la reutilizacin de cualquier software creado bajo este paradigma. La programacin orientada a objetos se acopla al modo de penar del hombre y no al de la mquina, esto es debido a las abstracciones racionales que se manejan y representan las propiedades del problema. Simula (creado en 1967) es aceptado como el primer lenguaje que posee las caractersticas principales de un lenguaje orientado a objetos. Fue creado para hacer programas de simulacin, en donde los "objetos" son la representacin de la informacin ms importante. Smalltalk (uso desde 1972 hasta 1980) es posiblemente el ejemplo cannico, y con el que gran parte de la teora de la programacin orientada a objetos se ha desarrollado. Cabe destacar que el elemento bsico de este paradigma no es la funcin como en su antecesor el paradigma de programacin estructurada, sino mediante un ente denominado objeto. Un objeto es la representacin de un concepto para un programa, y contiene toda la informacin necesaria para abstraer dicho concepto: los datos que describen su estado y las operaciones que pueden modificar dicho estado, y determinan las capacidades del objeto. Algunos lenguajes de programacin que ms destacan y que utilizan este paradigma son: ActionScript, ActionScript3, Java, JavaScript, C++, C#, Eiffel, PHP, Pearl y VisualBasic.

Aunque muchos de estos no son puramente orientado a objetos, si no que mas bien son hbridos que se combinan con otros paradigmas de programacin.

Elementos del modelo de objetos.


Existen una serie de principios fundamentales para comprender cmo se modelan los problemas reales al crear un programa bajo el paradigma de la orientacin a objetos. Estos elementos son: la abstraccin, el encapsulamiento, la modularidad, la jerarqua, y el polimorfismo.

Clases.
Podemos definir una clase como "un conjunto de cosas (fsicas o abstractas) que tienen el mismo comportamiento y caractersticas. Una clase no es ms que una plantilla o un modelo para la creacin de objetos. Cuando se crea un objeto (instanciacin) se ha de especificar de qu clase es el objeto instanciado, para que el compilador comprenda las caractersticas del objeto. Las clases presentan el estado de los objetos a los que se representan mediante variables denominadas atributos. Cuando se crea (instancia) un objeto el compilador crea en la memoria dinmica un espacio para tantas variables como atributos tenga la clase a la que pertenece el objeto Tenga en cuenta que las variables son espacios asignados de memoria que almacenan datos. Propiedades de una clase. Variables miembro: las propiedades o atributos son caractersticas de los objetos. especificando su nombre y su tipo .Las variables miembro son privadas al objeto (Usando el diseo del Principio de ocultacin) y su acceso se realiza mediante propiedades o mtodos que realizan comprobaciones adicionales. Y estas suelen denominarse con nombres.

Mtodos en las clases: Los mtodos hacen que los objetos sirvan para algo o realicen una funcionalidad. Los mtodos son el equivalente a las funciones en programacin estructurada. La diferencia entre ellos es que en las clases es posible acceder a las variables de forma implcita. Cuando se desea realizar una accin sobre un objeto, se dice que se le manda un mensaje invocando a un mtodo que realizar la accin. Habitualmente, los mtodos suelen ser verbos que indiquen acciones (go, stop, on release, etc). Construccin de Propiedades: Las propiedades son un tipo especial de mtodos. Debido a que suele ser comn que las variables miembro sean privadas para controlar el acceso y mantener la coherencia, surge la necesidad de permitir consultar o modificar su valor mediante pares de mtodos: GetNombreDeLaVariable y SetNombreDeLaVariable. Los lenguajes orientados a objetos ms modernos (por ejemplo Java, C#) aaden la construccin de propiedad que es una sintaxis simplificada para dichos mtodos:
tipo Propiedad { get { } set { } }

Objeto.
un objeto es el resultado de la instanciacin de una clase. Una clase es el anteproyecto que ofrece la funcionalidad en ella definida. Podemos decir que un objeto es todo aquello que pueda ser identificable dentro de una especificacin de requerimientos o problema y tenga las siguientes caractersticas:

Tenga estados definibles (abierto, cerrado, parado, sentado, etc). Posea comportamientos asociados o puede realizar determinadas acciones (como correr, saltar, volar, etc). stos son denominados mtodos.

Son capaces de interactuar/comunicarse con otros objetos por medio de sus mtodos

Una identidad un identificador que hacen referencia nica al objeto

Una caracterstica propia del paradigma orientado a objetos, es la transparencia entre la implementacin a nivel de cdigo y la funcionalidad que provee un mtodo (no me interesa cmo lo haga, slo que lo haga). Entonces un programa es un conjunto de objetos que se colaboran entre si para realizar una o ms actividades.

Abstraccin.
Cuando la mente humana abstrae modela la realidad en forma de objetos. Entonces en el paradigma de programacin orientado a objetos buscamos parecidos entre la realidad y la posible implementacin de objetos del programa que simulen el funcionamiento de los objetos reales.

Los seres humanos no pensamos en las cosas como un conjunto de cosas menores; por ejemplo, no vemos un cuerpo humano como un conjunto de clulas. Los humanos entendemos la realidad como objetos con comportamientos bien definidos. No necesitamos conocer los detalles de porqu ni cmo funcionan las cosas; simplemente solicitamos determinadas acciones en espera de una respuesta; cuando una persona desea desplazarse, su cuerpo le responde comenzando a caminar. Pero la abstraccin humana se gestiona de una manera jerrquica, dividiendo sucesivamente sistemas complejos en conjuntos de subsistemas, para as entender ms fcilmente la realidad. Esta es la forma de pensar que la orientacin a objeto intenta cubrir.

Modularidad.
Mediante la modularidad, se propone al programador dividir su aplicacin en varios pequeos pedazos diferentes llamados mdulos (ya sea en forma de clases, paquetes o bibliotecas), cada uno de ellos con un sentido propio. Esta fragmentacin disminuye el grado de dificultad del problema al que da respuesta el programa, pues se afronta el problema como un conjunto de problemas de menor dificultad, adems de facilitar la comprensin del programa.

Encapsulamiento.
El encapsulamiento permite a los objetos elegir qu informacin es publicada y qu informacin es ocultada al resto de los objetos. Para ello los objetos suelen presentar sus mtodos como interfaces pblicas y sus atributos como datos privados e inaccesibles desde otros objetos.

Para permitir que otros objetos consulten o modifiquen los atributos de los objetos, las clases suelen presentar mtodos de acceso. De esta manera el acceso a los datos de los objetos es controlado por el programador, evitando efectos laterales no deseados. Con el encapsulado de los datos se consigue que las personas que utilicen un objeto slo tengan que comprender su interfaz, olvidndose de cmo est implementada, y en definitiva, reduciendo la complejidad de utilizacin.

HERENCIA.

La herencia es un principio fundamental de la Programacin Orientada a Objetos (POO) ya que esta permite la creacin de jerarquas. Con el uso de la herencia puedes crear una clase general para definir los atributos comunes de objetos relacionados. Herencia en Java La idea de la herencia es permitir la creacin de nuevas clases basadas en clases existentes. Cuando heredamos de una clase existente, reusamos (o heredamos) mtodos y campos, y agregamos nuevos campos y mtodos para cumplir con la situacin nueva. Cada vez que encontremos la relacin "es-un" entre dos clases, estamos ante la presencia de herencia. A La mayora de nosotros ve de manera natural nuestro mundo como objetos que se
relacionan entre s de una manera jerrquica, es decir tienen un determinado orden. Por ejemplo, un perro es un mamfero, y los mamferos son animales, y los animales seres vivos...

Del mismo modo, las distintas clases de un programa se organizan mediante la jerarqua. La representacin de dicha organizacin da lugar a los denominados rboles de herencia:

Imagen 1: Ejemplo de rbol de herencia

Mediante la herencia una clase hija puede tomar determinadas propiedades de una clase padre. As se simplifican los diseos y se evita la duplicacin de cdigo al no tener que volver a codificar mtodos ya implementados. Al acto de tomar propiedades de una clase padre se denomina heredar.

Polimorfismo.
Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad permite que un objeto presente diferentes comportamientos en funcin del contexto en que se encuentre. Por ejemplo un mtodo puede presentar diferentes

implementaciones en funcin de los argumentos que recibe, recibir diferentes nmeros de parmetros para realizar una misma operacin, y realizar diferentes acciones dependiendo del nivel de abstraccin en que sea llamado.

Conclusin.

Un paradigma de programacin es una tcnica o un estilo para programar. En el paradigma de programacin orientado a objetos ya el elemento principal no son las funciones como en el paradigma de programacin estructurado; son las clases que sirven como moldes para instanciar (crear) objetos. Dentro de este cada objeto es nico ya que posee una identidad, puede realizar acciones o comportamientos, estos se llaman mtodos y tienen estados definidos que pueden cambiar. Entonces podramos decir que:

Un programa es un conjunto de objetos que realizan una actividad determinada. Al acto de tomar propiedades de una clase padre se denomina heredar. El polimorfismo permite que un objeto presente diferentes comportamientos. El encapsulado de los datos se consigue que las personas que utilicen un objeto slo tengan que comprender su interfaz. Los mtodos son el equivalente a las funciones en programacin estructurada.

Referencias.
http://www.monografias.com/trabajos14/paradigma/paradigma.shtml [2014, 14 de febrero ] http://www.ciberaula.com/articulo/lista_programas_que_usan_poo/ [2014, 14 de febrero ] http://zarza.usal.es/~fgarcia/doc/tuto2/I_1.htm [2014, 14 de febrero ] http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Herencia [2014, 14 de febrero ] http://es.wikipedia.org/wiki/Clase_%28inform%C3%A1tica%29 [2014, 14 de febrero ]