ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programación Orientada


Enviado por   •  26 de Enero de 2015  •  3.258 Palabras (14 Páginas)  •  163 Visitas

Página 1 de 14

1

Introducción a la Programación

Orientada a Objetos

Luis R. Izquierdo

1 IMPORTANTE NOTA PRELIMINAR

Este documento es un apéndice de mi proyecto fin de carrera. Lo escribí después de leer

tres o cuatro libros sobre el tema y consultar algunas páginas de Internet. Lo cierto es

que, sinceramente, no recuerdo las fuentes que utilicé, así que me temo que, por mucho

que me gustaría, me es imposible citarlas. No obstante, los conceptos que se presentan

en este documento pueden encontrarse en cualquier libro de programación orientada a

objetos, con definiciones probablemente mucho más rigurosas que las que yo aquí

presento. Dejo este documento de forma libre en la red con la esperanza de que pueda

ser útil, y sin ningún ánimo de atribuirme méritos que no me corresponden. Mi única

intención es que, leyendo este breve documento, el lector pueda aprender los conceptos

básicos de la programación orientada a objetos y disfrutar al mismo tiempo.

2 INTRODUCCIÓN

Es importante aclarar desde un principio la diferencia que existe entre programación

orientada a objetos y un lenguaje orientado a objetos.

La programación orientada a objetos es una “filosofía”, un modelo de programación,

con su teoría y su metodología, que conviene conocer y estudiar antes de nada. Un

lenguaje orientado a objetos es un lenguaje de programación que permite el diseño de

aplicaciones orientadas a objetos. Dicho esto, lo normal es que toda persona que vaya a

desarrollar aplicaciones orientadas a objetos aprenda primero la “filosofía” (o adquiera

la forma de pensar) y después el lenguaje, porque “filosofía” sólo hay una y lenguajes

muchos. En este documento veremos brevemente los conceptos básicos de la

programación orientada a objetos desde un punto de vista global, sin particularizar para

ningún lenguaje de programación específico.

2

3 UNA FORMA NUEVA DE PENSAR

Es muy importante destacar que cuando hacemos referencia a la programación orientada

a objetos no estamos hablando de unas cuantas características nuevas añadidas a un

lenguaje de programación. Estamos hablando de una nueva forma de pensar acerca del

proceso de descomposición de problemas y de desarrollo de soluciones de

programación.

La programación orientada a objetos surge en la historia como un intento para dominar

la complejidad que, de forma innata, posee el software. Tradicionalmente, la forma de

enfrentarse a esta complejidad ha sido empleando lo que llamamos programación

estructurada, que consiste en descomponer el problema objeto de resolución en

subproblemas y más subproblemas hasta llegar a acciones muy simples y fáciles de

codificar. Se trata de descomponer el problema en acciones, en verbos. En el ejemplo de

un programa que resuelva ecuaciones de segundo grado, descomponíamos el problema

en las siguientes acciones: primero, pedir el valor de los coeficientes a, b y c; después,

calcular el valor del discriminante; y por último, en función del signo del discriminante,

calcular ninguna, una o dos raíces.

Como podemos ver, descomponíamos el problema en acciones, en verbos; por ejemplo

el verbo pedir, el verbo hallar, el verbo comprobar, el verbo calcular…

La programación orientada a objetos es otra forma de descomponer problemas. Este

nuevo método de descomposición es la descomposición en objetos; vamos a fijarnos no

en lo que hay que hacer en el problema, sino en cuál es el escenario real del mismo, y

vamos a intentar simular ese escenario en nuestro programa.

Los lenguajes de programación tradicionales no orientados a objetos, como C, Pascal,

BASIC, o Modula-2, basan su funcionamiento en el concepto de procedimiento o

función. Una función es simplemente un conjunto de instrucciones que operan sobre

unos argumentos y producen un resultado. De este modo, un programa no es más que

una sucesión de llamadas a funciones, ya sean éstas del sistema operativo,

proporcionadas por el propio lenguaje, o desarrolladas por el mismo usuario.

3

En el caso de los lenguajes orientados a objetos, como es el caso de C++ y Java, el

elemento básico no es la función, sino un ente denominado precisamente objeto. Un

objeto es la representación en un programa de un concepto, y contiene toda la

información necesaria para abstraerlo: datos que describen sus atributos y operaciones

que pueden realizarse sobre los mismos.

La programación orientada a objetos es una nueva forma de pensar, una manera distinta

de enfocar los problemas. Ahí radica la dificultad de aprender un lenguaje totalmente

orientado a objetos, como es Java, sin conocer previamente los pilares de la

programación orientada a objetos. Hecha esta importante aclaración, conviene destacar

que Java, más que un lenguaje orientado a objetos, es un lenguaje de objetos. Java

incorpora el uso de la orientación a objetos como uno de los pilares básicos y

fundamentales del lenguaje. Esto constituye una importante diferencia con respecto a

C++. C++ está pensado para su utilización como lenguaje orientado a objetos, pero

también es cierto que con C++ se puede escribir código sin haber oído nada de la

programación orientada a objetos. Esta situación no se da en Java, dotado desde las

primeras etapas de su diseño de esta filosofía, y donde no cabe obviar la orientación a

objetos para el desarrollo de programas, por sencillos que éstos sean. Al contrario que

en C++, en Java nada se puede hacer sin usar al menos un objeto.

4 UN PRIMER EJEMPLO

Si nos detenemos a pensar sobre cómo se nos plantea un problema cualquiera en la

realidad podremos ver que lo que hay en la realidad son entidades (otros nombres que

podríamos usar para describir lo que aquí llamo entidades son “agentes” u “objetos”).

Estas entidades poseen un conjunto de propiedades o atributos, y un conjunto de

métodos mediante los cuales muestran su comportamiento. Y no sólo eso, también

podremos descubrir, a poco que nos fijemos, todo un conjunto de interrelaciones entre

las entidades, guiadas por el intercambio de mensajes; las entidades del problema

responden a estos mensajes mediante la ejecución de ciertas acciones. El siguiente

ejemplo, aunque pueda parecer un poco extraño, creo que aclarará algunos

...

Descargar como (para miembros actualizados)  txt (22 Kb)  
Leer 13 páginas más »
Disponible sólo en Clubensayos.com