Desarrollo Orientado A Objetos
Enviado por elber_gudo • 30 de Abril de 2013 • 2.221 Palabras (9 Páginas) • 291 Visitas
Desarrollo de proyectos de software
DESARROLLO ORIENTADO A OBJETOS
Introducción
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 evolución la podemos ver desde la época en que las máquinas eran
gigantescas y se programaban a través de tarjetas perforadas, hasta la época actual
en los dispositivos se hacen cada vez mas pequeños y el software tiene la necesidad
de ser cada día mas portable.
Desde las primeras generaciones de
computadoras se ha buscado lograr
que la vida sea cada vez mas facil
mediante el empleo de herramientas
de cómputo, esto ha ocasionado que el desarrollo de software también
sufra evoluciones que han ido desde el lenguaje máquina hasta los
entornos de programación visuales que ahora conocemos.
La primera gran evolución del desarrollo de software fueron los lenguajes estructurados, los cuales
aportaron conceptos novedosos, pero que dejaban el trabajo pesado a los programadores, teniendo ellos que
cargar con las rutinas para determinados procesos, ocasionando con esto que desviaran su atención del principal
problema que debían resolver.
El mas reciente avance del desarrollo de software es la programación orientada a objetos, la cual ofrece
mucho mayor dominio de los programas. El programador puede ocuparse en realizar aplicaciones más complejas
al exigir menor esfuerzo de atención.
La Programación Orientada a Objetos, POO (OOP, Object Oriented
Programming, en ingles), es una técnica de programación cuyo soporte
fundamental es el objeto. Es un modo de trabajo más natural, que permite
al desarrollador centrarse en solucionar el problema en lugar de tener que
andar pensando en cómo decirle a la computadora que haga esto o lo otro.
La programación orientada a objetos es un modo de trabajo más natural, que te permite
centrarte en solucionar el problema en lugar de tener que andar pensando en cómo decirle a la
computadora que haga esto o lo otro.
Pongamos por ejemplo que, en lugar de diseñar un programa,
estás conduciendo un coche. ¿Qué esperas que suceda cuando pisas el
acelerador? Pues esperas que el coche acelere. Ahora bien, cómo haga
el coche para decirle al motor que aumente de revoluciones te tiene sin
cuidado.
1 Aurelio López Ovando http://aureliux.wordpress.com
Desarrollo de proyectos de software
Clases y objetos
A menudo es fácil confundir ambos términos. ¿Ambas cosas son iguales? No, Para que pueda haber un
objeto debe existir previamente una clase, pero no al revés: 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 características comunes: todos
tienen un motor, ruedas, un volante, pedales, chasis, carrocería...; 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 demás,
puesto que cada uno es de su marca, modelo, color..., propiedades que lo diferencian de los demás, aunque una o
varias de ellas puedan coincidir en varios coches.
De un modelo de auto (clase) pueden fabricarse muchos otros autos (objetos)
Diríamos entonces que todos los coches están 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 genérico (la idea que todos tenemos sobre lo que es un coche) y el objeto es
algo mucho más concreto (el coche del vecino, el nuestro, el papamóvil...).
Identificadores, atributos y métodos
La Programación Orientada a Objetos tiene como punto medular el uso de “objetos”, que en realidad son
estructuras lógicas que representan elementos o entidades del mundo real.
Esta representación se basa en los siguientes aspectos:
Se usan nombres (identificador descriptivo) que permiten hacer una rápida asociación con el
correspondiente objeto. Por ejemplo: para representar un vehículo, 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 cómo éste interactúa con otros de su mismo tipo o de otro
tipo, se definen métodos (operaciones), que corresponden a acciones específicas del objeto, una vez más,
simulando el mundo real. Por ejemplo: “avanzar”, “frenar”, “abrir la puerta delantera derecha”, etc.
Por ejemplo: El objeto “Automóvil” en el mundo real.
Atributos:
- Color
- Marca
- Cantidad de Puertas
- Velocidad a la que se desplaza
Representación Lógica del Automóvil Clase Automóvil
Métodos (acciones):
- Avanzar
- Frenar
- Cambiar Velocidad
- Abrir Puerta
2 Aurelio López Ovando http://aureliux.wordpress.com
Desarrollo de proyectos de software
Encapsulamiento
Es la capacidad que tienen los objetos de ocultar su código al cliente y proteger sus datos, ofreciendo
única y exclusivamente una interfaz que garantiza
...