Programación Orientada A Objetos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

UNIVERSIDAD PRIVADA SAN JUAN BAUTISTA FACULTAD DE INGENIERIA DE COMPUTACION Y SISTEMAS

Tema: Programacin Orientada a Objetos Curso: Programacin Aplicada II Profesor: Richard Rodas Alumno: Marcos Moquillaza Jonathan Alexis Ciclo: IV

2010

Programacin Orientada a Objetos


Ole-Johan Dahl 1
1 2

Kristen Nygaard

Ole-Johan Dahl Padres del lenguaje de programacin Simula, y de la programacin orientada a objetos Profesor en la Universidad de Oslo en 1968 Kristen Nygaard Matemtico noruego, pionero de la informtica y poltico Obtuvo su ttulo de mster en matemticas en la Universidad de Oslo en 1956
Resumen
En este paper se presenta el tema de la programacin orientada a objetos. El cual trataremos de explicar en lo ms breve la filosofa y despus el lenguaje, veremos brevemente los conceptos bsicos de la programacin orientada a objetos desde un punto de vista global .
2

Introduccin

Como Rentsch predijo, la programacin orientada a objetos ser en los ochenta como la Programacin estructurada fue en la dcada de los sesenta. En la actualidad la Programacin Orientada a Objetos es ms utilizada por los programadores que usan java, c#, c++ por ser ms compacta y mejor a la hora de programar que la programacin estructurada ya que tiene algunos inconveniente como por ejemplo obtiene un nico bloque de programa, que cuando se hace demasiado grande puede resultar problemtico su manejo en cambio la programacin orientada a objetos resuelve este inconveniente identificando sus objetos y separndolo en mtodos(funciones). Es muy importante destacar que cuando hacemos referencia a la programacin orientada a objetos no estamos hablando de unas cuantas caractersticas nuevas aadidas a un lenguaje de programacin. Estamos hablando de una nueva forma de pensar acerca del proceso de descomposicin de problemas y de desarrollo de soluciones de Programacin. A continuacin vamos a ver en este paper la desventaja de la ya casi olvidada programacin estructurada despus vamos a ver los conceptos fundamentales de clase, herencia, objeto y mtodo; despus nos centraremos en las caractersticas de la programacin orientada a objetos.

Desventajas de la Programacin Estructurada.- Cuando diferentes programadores trabajan en equipo para disear una aplicacin, a cada programador se le asigna la construccin de un conjunto especifico de funciones y tipos de datos. Dado que los diferentes programadores manipulan funciones independientes que relacionan a tipos de datos compartidos mutuamente, los cambios que un programador hace a los datos se deben reflejar en el trabajo del resto del equipo. Aunque los programas estructurados son ms fciles de disear en grupo, los errores de comunicacin entre miembros de quipos pueden conducir a gastar tiempo en reescritura. En resumen, con los mtodos tradicionales, un programa se divide en dos componentes: procedimientos y datos. Cada procedimiento actua como una caja negra.

Conceptos Fundamentales

1. Clase.- Una clase est contenida por objetos (mtodos y atributos) ,es el cuerpo donde se almacenan estos objetos. En la POO las clases con las funciones primarias estn encapsuladas para evitar el manejo y apoderamiento indebido de usuarios. Ejemplo: Una clase llamada escuela donde estuviera contenido los objetos profesor, alumno y los atributos(caractersticas del objeto) nombre, edad, etc. 2. Objeto.- Los objetos estn contenidos dentro de una clase, los objetos pueden ser representados por una persona, animal o cosa que contengan atributos. Por ejemplo de una clase llamada coches los objetos serian camioneta, custer, etc. Un objeto tambin es un conjuntos de variables (o datos) y mtodos (o funciones) relacionados entre s. Un objeto es, por tanto, la representacin en un programa de un concepto, y contiene toda la informacin necesaria para abstraerlo: datos que describen sus atributos y operaciones que pueden realizarse sobre los mismos.

Figura 1: Representacin Visual de un objeto

3. Mtodo.- Los mtodos residen en el objeto y determina como acta cuando recibe un mensaje( accin del objeto) , en la POO los mtodos igual que los atributos estn encapsulados de la clase en la que se va a ejecutar el programa.

Figura 2: Mtodos y mensaje de un objeto 4. Atributo.- Es la caracterstica del objeto . Por ejemplo en la figuro 3 vemos una clase llamada Coche 1 la cual tiene un mtodo llamado Calcular_Precio_Actual la cual en la que no siempre interacta con los atributos de la clase para realizar una accin .

Figura 3: clase llama coche con el mtodo con el mtodo Calcular_Precio

5. Mensaje.- Normalmente un nico objeto por s solo no es muy til. En general, un objeto aparece como un componente ms de un programa o una aplicacin que contiene otros muchos objetos. Es precisamente haciendo uso de esta interaccin como los programadores consiguen una funcionalidad de mayor orden y modelar comportamientos mucho ms complejos. Una bicicleta (a partir de ahora particularizaremos) colgada de un gancho en el garaje no es ms que una estructura de aleacin de titanio y un poco de goma. Por s sola, tu bicicleta (por poner una bicicleta en concreto) es incapaz de desarrollar ninguna actividad. Tu bicicleta es realmente til en tanto que otro objeto (t) interacta con ella (pedalea).

Los mensajes proporcionan dos ventajas importantes: .El comportamiento de un objeto est completamente determinado (a excepcin del acceso directo a variables miembro pblicas) por sus mtodos, as que los mensajes representan todas las posibles interacciones que pueden realizarse entre objetos. Los objetos no necesitan formar parte del mismo proceso, ni siquiera residir en un mismo ordenador para mandarse mensajes entre ellos (y de esta forma interactuar). 6. Abstraccin.- Es la propiedad que permite representar las caractersticas esenciales de un objeto, sin preocuparse de las restantes caractersticas (no esenciales), sirve para separar el comportamiento esencial de un objeto de su implementacin. Una clase se puede describir como una descripcin abstracta de un grupo de objetos, cada uno de los cuales se diferencian de por su estado especfico y por la posibilidad de realizar una serie de operaciones, ejm de abstraccin sera el caso de un lapicero que es un objeto que tiene un estado (llena o vacia) y sobre la cual se puede realizar algunas operaciones(escribir, llenar de tinta si esta vacia). 7. Encapsulamiento.- Tambin se le conoce como ocultacin de la informacin es la particularidad que tiene la POO al ser muy til al momento de ser un software debido al encapsulado de las funciones(mtodos) y sus atributos de la clase interfaz grfica, permite asegurar que el contenido de la informacin de un objeto esta oculta del mundo exterior La encapsulacin permite la divisin de un programa en mdulos. Estos mdulos se implementan mediante clases, de forma que una clase representa la encapsulacin de una abstraccin.
8. Modularidad.- Es la propiedad que permite subdividir una aplicacin en partes ms pequeas (llamadas mdulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicacin en s y de las restantes partes.

La Modularidad es la propiedad de un sistema que permite su descomposicin en un conjunto de mdulos cohesivos y dbilmente acoplados. Por supuesto no todos los mdulos son iguales: tomar un programa monoltico y separarlo de forma aleatoria en archivos no es ptimo. Se debe tener en cuenta los conceptos asociados de dependencia, acoplamiento, cohesin, interfaz, encapsulacin y abstraccin. Una vez identificado lo que es un buen mdulo, se puede contemplar la reutilizacin de un buen mdulo como componente. 9. Jerarqua.- Es una propiedad que permite una ordenacin de las abstracciones. Las dos jerarquas ms importantes de un sistema complejo es: Estructura de clases y estructura de objetos.

10. Polimorfismo.- En la mayora de programadores o de las personas que han usado la POO no considera esta propiedad como fundamental en los diferentes modelos de objetos propuestos, el polimorfismo es la propiedad que indica que una entidad tome muchas formas, quiere decir que permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realiza la misma operacin de diferentes formas. Ejemplo : de una clase llamada Mamferos se puede observar que la operacin comer es una operacin fundamental en la vida de los mamferos, de modo que cada tipo de mamfero debe poder realizar la operacin comer, entonces en el polimorfismo implica la posibilidad de tomar un objeto de un tipo mamfero del ejemplo anterior e indicarle que ejecute comer; esta accin se ejecutara de diferente forma; segn sea el objeto mamfero sobre el que se aplica.

Figura 4: Representacin del Polimorfismo

11. Herencia.- Propiedad que permite a otros objetos ser construidos a partir de otros objetos, quiere decir que es la capacidad de un objeto para utilizar las estructuras de datos y los mtodos previstos en antepasados o ascendientes. El objetivo final es la reutilizacin es decir reutilizar cdigo anteriormente ya desarrollado. La programacin orientada a objetos va ms all, permitindonos definir clases a partir de otras clases ya construidas. Por ejemplo, las bicicletas de montaa, las de carretera y los tndems son todos, en definitiva, bicicletas. En trminos de programacin orientada a objetos, son subclases o clases derivadas de la clase bicicleta. Anlogamente, la clase bicicleta es la clase base o superclase de las bicicletas de montaa, las de carretera y los tndems. Esta relacin se muestra en la siguiente figura. Cada subclase hereda los estados (en forma de declaracin de variables) de la superclase de la cual deriva. Las bicicletas de montaa, las de carretera y los tndems comparten algunos estados: cadencia, velocidad... Adems, cada subclase hereda los mtodos de su superclase.

11.1. Tipos de Herencia Existen 2 tipos de herencias: A) Herencia Simple.- Puede tener solo un ascendiente o dicho de otro modo una subclase puede heredar mtodos y atributos de una clase.

Figura 5: Ejemplo herencia simple B) Herencia Mltiple.- Tiene ms de un ascendente es decir adquirir mtodos y atributos de varias clases.

Figura 6: Ejemplo herencia mltiple

Otras Propiedades.- Es conveniente que el software que vamos a realizar no solo soporte las propiedades ya mencionadas si no tambin que soporte algunas propiedades importantes como por ejemplo: Concurrencia Persistencia Genericidad Manejo de Excepciones

No todos los lenguajes de programacin soportan las propiedades ya mencionadas como por ejemplo:

Figura 7: Lenguajes que soportan algunas propiedades de la POO

Conclusiones Mi conclusin a lo largo de haber investigado todo sobre la Programacin Orientado a Objeto me lleva a concluir que beneficia a los desarrolladores debido a que: Los programas son fciles de disear debido a que los objetos reflejan elementos del mundo real, las aplicaciones son ms sencillas para los usuarios debido a que los datos innecesarios estn ocultos y que la productividad se incrementa debido a que puede reutilizar el cdigo. Los sistemas son fciles de mantener y se adaptan a las cambiantes necesidades de negocios. Aparte de que tiene transportabilidad, robustez, facilidad de usar, y reusabilidad.

Referencias

[Luis Joyanes Aguilar, 2005] Luis Joyanes (2005) Programacin Orientada a Objetos [Deitel & Deitel, 2008] Deitel & Deitel (2008) Como programar en JAVA [Luis R, 2008] Luis R (2008) Introduccin a la programacin orientada a objetos http://luis.izqui.org/resources/ProgOrientadaObjetos.pdf

También podría gustarte