Está en la página 1de 8

PROGRAMACION ORIENTADA A OBJETOS

INGENIERIA DEL SOFTWARE II

UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERIA - SEDE BUENOS AIRES MEDELLIN - ANTIOQUIA 2012

PROGRAMACIN ORIENTADA A OBJETOS

Para entender y comprender este tema es importante hacer una pequea introduccin con los principales aspectos de la Programacin Orientada a Objetos. En la actualidad uno de los temas que concentra toda la atencin en el mbito educativo es la orientacin a objetos. De esta se dice que trae grandes mejoras de amplio alcance en la forma de diseo, desarrollo y mantenimiento de software: ofreciendo una solucin a largo plazo a los problemas y preocupaciones que han existido desde los inicios en el desarrollo de software, la falta de portabilidad del cdigo y reusabilidad del mismo, cdigo que es difcil de modificar, ciclos de desarrollo largos y tcnicas de codificacin no intuitivas.

El lenguaje orientado a objetos ataca esta clase de problemas. Tiene tres caractersticas bsicas: debe estar baso en objetos, basado en clases y capaz de tener herencia de clases.

El concepto de programacin orientada a objetos (POO) no es nuevo, anteriormente otros lenguajes clsicos como Small Talk se basan en ella. La POO se basa en la existencia de un mundo lleno de objetos y que la solucin del problema se realiza en trminos de objetos; un lenguaje est basado en objetos si soporta objetos como una caracterstica fundamental del mismo.

El elemento fundamental de la POO es el objeto y podemos definir un objeto como un conjunto complejo de datos y programas que poseen estructura y forman parte de una organizacin.

Esta definicin demuestra varias propiedades importantes de los objetos. En primer lugar, un objeto no es un dato simple, sino que contiene en su interior cierto nmero de componentes bien estructurados. En segundo lugar, cada objeto no es un ente aislado sino que forma parte de una organizacin jerrquica o de otro tipo.

Se puede decir que un objeto tiene una estructura que puede considerarse como una especie de capsula dividida en tres partes: 1. Relaciones 2. Propiedades 3. Mtodos

Cada uno de estos componentes desempea un papel independiente: Las relaciones permiten que el objeto se inserte en la organizacin y estn formadas por punteros a otros objetos.

Las propiedades distinguen un objeto determinado de los restantes que forman parte de las misma organizacin tienen valores que dependen de la propiedad de la que se trate. Las propiedades de un objeto pueden ser heredadas a sus descendientes en la organizacin.

Los mtodos son las operaciones que pueden realizarse sobre el objeto que normalmente estarn incorporados en forma de programas (cdigos) que el objeto es capaz de ejecutar y que tambin pone a disposicin de sus descendientes a travs de la herencia.

A partir de esta pequea introduccin pasamos a conocer definiciones importantes con las cuales los usuarios pueden entender con mucha ms facilidad lo que es la POO y de que se trata.

Un lenguaje de programacin es un conjunto limitado de palabras y smbolos que representan procedimientos, clculos, decisiones y otras operaciones, como el control de procesos que puede ejecutar una computadora. Es decir, un programa es un conjunto de instrucciones que son dadas a la maquina mediante un lenguaje de programacin. Los lenguajes estn clasificados conforme que tan amigables sean para el usuario. Por ejemplo, los lenguajes como ensamblado son considerados lenguajes de bajo nivel y los lenguajes como BASIC de alto nivel por estar ms cerca del usuario.

La POO es una nueva forma de atacar los problemas de programacin en especial los que hacen referencia a grandes y medianos proyectos, de este mundo podemos asegurar que se han encontrado una forma ms fcil de implementar la programacin estructurada. En consecuencia a la POO se ha basado en la programacin estructurada para implementar conceptos innovadores que significan la creacin de programas: La POO permite dividir un problema en pequeas unidades lgicas de cdigo independientes del resto del programa, que interactan entre s.

La POO tiene sus orgenes en el lenguaje de programacin SIMULA desarrollado por Kristen Nygaard y Ole - Johan Dahl en la mitad de los aos 60 en el centro de

computacin Noruego (The Norwegian Computing Center). Simula se defini como un lenguaje de programacin orientado a la simulacin de procesos, con el que se podan definir distintos tipos de actividades. En este lenguaje aparecen por primera vez los conceptos CLASES y OBJETOS. Despus se desarrollaron los lenguajes SMALL TALK, C++, JAVA y C#.

Una clase es (al igual que una estructura) una plantilla donde se define un conjunto de campos (tambin llamados en POO variables de instancia) y un conjunto de mtodos (funciones) que podrn ser ejecutadas por los objetos de esa clase.

Otra diferencia es que las clases deben definir valores por defecto de los campos, y que es posible diferenciar entre campos de inicializacin y el resto de campos.

Para entender mejor la POO, es importante tener en cuenta algunos conceptos fundamentales. La POO es una forma de programar que trata de encontrar una solucin a estos problemas. Introduce nuevos conceptos que superan y amplan conceptos antiguos ya conocidos, entre estos se destacan los siguientes: Clase: Definiciones de las propiedades y comportamientos de u tipo de objeto concreto. La instanciacin es la lectura de estas definiciones y la creacin de un objeto a partir de ellas.

Herencia: Ej. Herencia de la clase C a la clase D. Es la facilidad mediante la cual una clase hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto pueden usar los mismos mtodos y variables publicas declaradas en C. Los componentes registrados como privados tambin se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y solo pueden ser accedidos a travs de otros mtodos pblicos. Esto es as para mantener hegemnico el ideal de POO.

Objeto: Es una entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (mtodos) los mismos que consecuentemente reaccionan a eventos. Se corresponde con los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase.

Mtodo: Es un algoritmo asociado a un objeto (o a una clase de objeto), cuya ejecucin se desencadena tras la recepcin de un mensaje.

Evento: Es un suceso en el sistema (tal como una interaccin del usuario con la maquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente.

Mensaje: Es una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus mtodos con ciertos parmetros asociados al eventos que lo gener.

Propiedad o atributo: Contenedor de un tipo de un tipo de dato asociados a un objeto (o a una clase de objetos), que hace que los datos visibles desde afuera del objeto y esto se define como caractersticas predeterminadas, y cuyo valor puede ser alterado por la ejecucin de algn mtodo.

Estado Intermedio: Es una variable que se declara privada, que puede ser nicamente accedida y alterada por un mtodo del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos), no es visible al programador que maneja una instancia de la clase.

Componentes de un objeto: Atributos, identidad, relaciones y mtodos.

Identificacin de un objeto: Un objeto, se representa por medio de una tabla o entidad que est compuesta por atributos y funciones correspondientes.

Al igual que los conceptos fundamentales mencionados anteriormente, es tambin de suma importancia conocer las caractersticas de la POO, y entre estas tenemos las siguientes: Abstraccin: Denota las caractersticas esenciales de un objeto, done se capturan sus comportamientos. Cada objetos en el sistema sirve como modelo de un agente abstracto que puede realizar trabajo, informar y cambiar su estado, y como iniciarse con otros objetos en el sistema sin revelar cmo se implementan estas caractersticas.

Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel del abstraccin. Esto permite aumentar la cohesin de los componentes del sistema.

Polimorfismo: Comportamientos diferentes asociados a objetos distintos, pueden compartir en el mismo nombre, al llamarlos por ese nombre se utilizara el comportamiento correspondiente al objeto que se est usando, es decir, las referencias y colecciones de objetos pueden contener objetos de diferentes tipos, y la innovacin de un comportamiento en una referencia producir el comportamiento correcto para el tipo real del objeto referenciado.

Herencia: Las clases no estn aisladas, sino que se relacionan entre s, formando una jerarqua de clasificacin. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo.

Finalmente, podemos concluir que la programacin orientada a objetos es un paradigma que utiliza objetos como elementos fundamentales en construccin de la solucin. Surge en los aos 70. Un objeto es una abstraccin de algn hecho o ente del mundo real que tiene atributos que representan su comportamiento o acciones que realizan. Todas las propiedades y mtodos comunes a los objetos se encapsulan o se agrupan en clases.

Tambin podemos decir que el desarrollo con POO, tiene algunos beneficios. Actualmente el costo del hardware decrece. As surgen nuevas areas de aplicacin: Procesamientos de imgenes y sonidos, base de datos multimediales, automatizacin de oficinas, ambientes de ingeniera del software, etc. Aun en las aplicaciones tradicionales encontramos que definir interfaces hombre-mquina a_la_windows suele ser bastante conveniente.

Lamentablemente los costos de produccin de software siguen aumentando, y el mantenimiento y la modificacin de sistemas complejos suele ser una tarea trabajosa, cada aplicacin, (aunque tenga aspectos similares a otra) suele encararse como un proyecto nuevo, etc.

Contrario a lo mencionado anteriormente la POO, tambin presenta algunos problemas en la actualidad. Un sistema orientado a objetos, por lo visto, puede parecerse a un paraso virtual. El problema sin embargo surge en la implementacin de tal sistema. Muchas compaas invierten gran cantidad de recursos, luego comienzan a darse cuenta que han impuesto una cultura que es ajena a los programadores actuales.

BIBLIOGRAFIA

http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos

http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2008-2009/tema-11.html

http://luis.izqui.org/resources/ProgOrientadaObjetos.pdf

También podría gustarte