Sie sind auf Seite 1von 14

Desarrollo Orientado a Objetos

Introduccin La historia del desarrollo de software se ha evolucionado en base una misma idea: Hacer que la tarea de realizar programas para computadoras sea cada mas simple, flexible y portable. Esta evolucin la podemos ver desde la poca en que las mquinas eran gigantescas y se programaban a travs de tarjetas perforadas, hasta la poca actual en los dispositivos se hacen cada vez mas pequeos y el software tiene la necesidad de ser cada da mas portable. Desde las primeras generaciones de computadoras se ha buscado lograr que la vida sea cada vez mas fcil mediante el empleo de herramientas de cmputo, esto ha ocasionado que el desarrollo de software tambin sufra evoluciones que han ido desde el lenguaje mquina hasta los entornos de programacin visuales que ahora conocemos.

El mas reciente avance del desarrollo de software es la programacin orientada a objetos, la cual ofrece mucho mayor dominio de los programas. El programador puede ocuparse en realizar aplicaciones ms complejas al exigir menor esfuerzo de atencin.

La Programacin Orientada a Objetos, POO (OOP, Object Oriented Programming, en ingles), es una tcnica de programacin cuyo soporte fundamental es el objeto. Es un modo de trabajo ms natural, que permite al desarrollador centrarse en solucionar el problema en lugar de tener que andar pensando en cmo decirle a la computadora que haga esto o lo otro.

La programacin orientada a objetos es un modo de trabajo ms natural, que te permite centrarte en solucionar el problema en lugar de tener que andar pensando en cmo decirle a la computadora que haga esto o lo otro.

Pongamos por ejemplo que, en lugar de disear un programa, ests conduciendo un coche. Qu esperas que suceda cuando pisas el acelerador? Pues esperas que el coche acelere. Ahora bien, cmo haga el coche para decirle al motor que aumente de revoluciones te tiene sin cuidado.

Clases y objetos
A menudo es fcil confundir ambos trminos. Ambas cosas son iguales?

No, Para que pueda haber un objeto debe existir previamente una clase, pero no al revs: la clase es la "plantilla" en la que nos basamos para crear el objeto.
Volvamos al ejemplo del coche:

todos ellos tienen una serie de caractersticas comunes: todos tienen un motor, ruedas, un volante, pedales, chasis, carrocera...
todos funcionan de un modo parecido para acelerar, frenar, meter las marchas, dar las luces... sin embargo, cada uno de ellos es diferente de los dems, puesto que cada uno es de su marca, modelo, color..., propiedades que lo diferencian de los dems, aunque una o varias de ellas puedan coincidir en varios coches.

De un modelo de auto (clase) pueden fabricarse muchos otros autos (objetos)

Diramos entonces que todos los coches estn basados en una plantilla, o un tipo de objeto, es decir, pertenecen todos a la misma clase. Sin embargo, cada uno de los coches es un objeto de esa clase: todos comparten la "interfaz", pero no tienen por qu compartir los datos (marca, modelo, color, etc.). Se dice entonces que cada uno de los objetos es una instancia de la clase a la que pertenece, es decir, un objeto. En resumen, la clase es algo genrico (la idea que todos tenemos sobre lo que es un coche) y el objeto es algo mucho ms concreto (el coche del vecino, el nuestro, el papamvil...).

Identificadores, atributos y mtodos

La Programacin Orientada a Objetos tiene como punto medular el uso de objetos, que en realidad son estructuras lgicas que representan elementos o entidades del mundo real.

Identificadores, atributos y mtodos


Esta representacin se basa en los siguientes aspectos: Se usan nombres (identificador descriptivo) que permiten hacer una rpida asociacin con el correspondiente objeto. Por ejemplo: para representar un vehculo, se puede definir un objeto o entidad denominado Auto.

Para representar el estado del objeto, se utilizan variables, denominadas atributos o propiedades, que almacenan diferentes valores que pueden ir cambiando en el tiempo.
Por ejemplo: el auto puede estar representado por cilindraje, velocidad, etc.

Para describir el comportamiento del objeto y cmo ste interacta con otros de su mismo tipo o de otro tipo, se definen mtodos (operaciones), que corresponden a acciones especficas del objeto, una vez ms, simulando el mundo real.
Por ejemplo: avanzar, frenar, abrir la puerta delantera derecha, etc.

Ejemplo :

Encapsulamiento
Es la capacidad que tienen los objetos de ocultar su cdigo al cliente y proteger sus datos, ofreciendo nica y exclusivamente una interfaz que garantiza que el uso del objeto es el adecuado.

La ocultacin del cdigo es algo evidente: Por ejemplo cuando se pisa el acelerador del coche, lo nico que sabemos es que el coche acelerar, pero el cmo lo haga es algo que no podremos ver. En cuanto a la proteccin de datos, fjate tambin en un detalle del ejemplo: no podemos modificar directamente el valor de la velocidad, dado que es una accin que como conductores tenemos restringido, la nica forma de hacerlo es acelerando y/o frenando. Esta importante caracterstica asegura que la velocidad del coche se va a manejar del modo adecuado.

ENCAPSULAMIENTO: La parte interna de un auto no la conocemos, solo sabemos lo que podemos hacer con ello

Herencia
Gracias a ella podemos definir clases nuevas basadas en clases antiguas, aadindoles ms datos o ms funcionalidad. Para ver esto ms claro sigamos con el ejemplo del coche. Siguiendo con el ejemplo de los autos:

Modelo antiguo
Tenemos este modelo antiguo que se muestra en la figura, originalmente se necesitaba que se le diera cuerda para poder arrancar, su velocidad era muy deficiente y su interior sumamente incmodo, sin embargo tuvo las suficientes caractersticas para iniciar la revolucin de la industria automotriz, despus de este auto las empresas empezaron a construir nuevos modelos que tomaban lo mejor de cada generacin de autos y la complementaban con nuevas caractersticas, de tal manera que cada coche tena caractersticas de algn modelo anterior e incorporaba sus propias caractersticas

De igual manera se hereda el cdigo en la programacin orientada o objetos, al grado que de una clase sencilla se pueden construir otras clases ms complejas, sobre este aspecto, lo ideal para construir una clase coche hubiera sido construir clases ms sencillas (ruedas, motor, chasis, carrocera, volante, ...), y despus construir la clase coche derivndola de todas ellas.

Polimorfismo
Siguiendo con el ejemplo de los coches, pensemos que tenemos un auto mgico, que se pueda transformar para cada situacin que yo desee, pero que en el fondo siga siendo el mismo auto, por ejemplo: Que se convierta en un coche elegante para una cita, o en un carro de fuerza para salir al campo, o en auto deportivo para presumir a los amigos

Pues esto es, ms o menos, lo que proporciona el polimorfismo en la POO. No es necesario modificar el cdigo de la clase original. Si esta est bien diseada, basta con derivar otra clase de la original y modificar el comportamiento de los mtodos necesarios.

Das könnte Ihnen auch gefallen