Está en la página 1de 4

Programacin orientada a objetos

Un objeto es una estructura con datos y mtodos que manipulan los datos. Si es la primera vez que entra en contacto con la programacin orientada a objetos, los siguientes trminos y conceptos le ayudarn a hacerse una idea general del tema. Si bien no es necesario dominar la programacin orientada a objetos para desarrollar con Visual Basic de forma satisfactoria, resulta de gran utilidad, ya que prcticamente todo lo que se hace en Visual Basic est asociado con objetos.

Objetos

El objeto, es el concepto principal sobre el cual se fundamenta la tecnologa orientada a objetos. Un objeto puede ser visto como una entidad que posee atributos y efecta acciones. En el mundo real podemos encontrar cientos de ejemplos que cumplen con sta definicin, algunos de ellos son: una bicicleta, un automvil, una persona, una computadora, etctera. Estos objetos son casos particulares de entidades llamadas clases en donde se definen las caractersticas comunes de tales objetos. Veamos el caso particular del objeto automvil, podemos mencionar como atributos de ste: el modelo, el color, la marca, el nmero de placas, entre otros. Algunas acciones que es capaz de realizar un automvil son: ir en reversa, virar, frenar, acelerar y cambiar la velocidad. Este objeto automvil, es una instancia particular de la entidad automvil. En trminos de la programacin orientada a objetos, se dice que todo objeto tiene un estado (atributos) y un comportamiento (acciones). La programacin orientada a objetos nos permite modelar estos objetos del mundo real en objetos de software de forma eficaz. Un objeto de software mantiene sus atributos o estado en variables e implementa las acciones o comportamientos por medio de mtodos o funciones. Supongamos que queremos desarrollar una aplicacin que simule un vehculo. Tendramos entonces un objeto vehculo constituido por variables en las cuales podramos almacenar nmero de serie, color, la velocidad actual, etctera. Aunado a esto, tendramos un conjunto de funciones que implementaran las acciones para frenar, virar, cambiar la velocidad, etctera.
Origen

Los conceptos de la programacin orientada a objetos tienen origen en Simula 67, un lenguaje diseado para hacer simulaciones, creado por Ole -Johan Dahl y Kristen Nygaard del Centro de Cmputo Noruego en Oslo. Segn se informa, la historia es que trabajaban en simulaciones de naves, y fueron confundidas por la explosin combinatoria de cmo las diversas cualidades de diversas naves podan afectar unas a las o tras. La idea ocurri para agrupar los diversos tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de definir sus propios datos y comportamiento. Fueron refinados ms tarde en Smalltalk, que fue desarrollado en Simula en Xerox PARC pero diseado para ser un sistema completamente dinmico en el cual los objetos se podran crear y modificar "en La programacin orientada a objetos tom

posicin como la metodologa de programacin dominante a mediados de los aos ochenta, en gran parte debido a la influencia de C++, una extensin del lenguaje de programacin C. Su dominacin fue consolidada gracias al auge de las Interfaces grficas de usuario, para los cuales la programacin orientada a objetos est particularmente bien adapt ada.

Ventajas

Ventajas de utilizar la Programacin Orientada a Objetos frente a la tradicional Programacin Estructurada:


y y y y y

Propicia la reutilizacin de cdigo gracias a mecanismos como la herencia. Agrupa en una misma clase todas las caractersticas de un elemento, haciendo ms sencilla su relacin con el mundo real. Facilita la modularizacin del cdigo, ya que cada clase se crea generalmente en un archivo distinto. Facilita el trabajo en equipo por la forma clara de estructurar el cdigo. Nos permite mantener de forma sencilla nuestro software, ya que cualquier cambio en la clase queda reflejado en todo el programa.

En definitiva, la Programacin Orientada a Objetos es una opcin valorable a la hora de disear cmo estructurar nuestros datos, y muy vlida para trabajar con aplicaciones web.

Identificacin de objetos, caractersticas, como se relaciona entre si para resolver un problema. La abstraccin es el proceso de capturar los detalles fundamentales de un objeto mientras suprimen o ignoran los detalles. La abstraccin proporciona un mecanismo crucial para permitir que las personas comprendan, se comuniquen y razonen sistemas complejos. Encapsulamiento: (ocultacin de informacin), es el proceso de ocultar todos los detalles de un objeto que no contribuyen a sus caractersticas esenciales. La Modularidad te permite subdividir a una aplicacin en partes ms pequeas llamadas mdulos, y cada una de ellas debe ser independiente de la aplicaci n en s. La jerarqua permite una ordenacin de todas las abstracciones hechas; mientras que herencia es la capacidad de compartir, datos, mtodos, objetos, y otras cosas, es decir la herencia define una relacin entre clases. Propiedades y mtodos Propiedades

Los objetos poseen ciertas propiedades especiales que las distinguen de las variables corrientes, y es que muchas de ellas pueden ser heredadas dejando

as una mayor facilidad en la programacin, pudiendo anidar clases y aumentando as la eficiencia en la programacin orientada a objetos. Adems de poder hacer uso de los principios de estas como con la encapsulacin o la versatilidad en sus funciones con el polimorfismo .
Mtodo

Algoritmoasociado a un objeto (o a unaclase de objetos), cuyaejecucin se desencadena tras la recepcin de un "mensaje". Desde el punto de vista delcomportamiento, es lo que el objetopuedehacer. Un mtodo puedeproducir un cambio en laspropiedades del objeto o la generacin de un "evento" con un nuevomensajeparaotroobjeto del sistema. Herencia y Polimorfismo
Herencia

La herencia es especfica de la programacin orientada a objetos, donde una clase nueva se crea a partir de una clase existente. La herencia (a la que habitualmente se denomina subclases) proviene del hecho de que la subclase (la nueva clase creada) contiene las atributos y mtodos de la clase primaria. La principal ventaja de la herencia es la capacidad para definir atributos y mtodos nuevos para la subclase, que luego se aplican a los atributos y mtodos heredados. Esta particularidad permite crear una estructura jerrquica de clases cada vez ms especializada. La gran ventaja es que uno ya no debe comenzar desde cero cuando desea especializar una clase existente. Como resultado, se pueden adquirir bibliotecas de clases que ofrecen una base que puede especializarse a voluntad (la compaa que vende estas clases tiende a proteger las datos miembro usando la encapsulacin).
Polimorfismo

La palabra polimorfismo proviene del griego y significa que posee varias formas diferentes. Este es uno de los conceptos esenciales de una programacin orientada a objetos. As como la herencia est relacionada con las clases y su jerarqua, el polimorfismo se relaciona con los mtodos. En general, hay tres tipos de polimorfismo:
y y y

Polimorfismo de sobrecarga Polimorfismo paramtrico (tambin llamado polimorfismo de plantillas) Polimorfismo de inclusin (tambin llamado redefinicin o subtipado)

Trataremos de describir ahora con ms precisin estos tipos de polimorfismo, pero le sugerimos prestar atencin, ya que muchas personas suelen confundirse al tratar de comprender las diferencias existentes entre estos tres tipos.