Programación Orientada
Enviado por rockjonsk • 26 de Mayo de 2014 • 14.521 Palabras (59 Páginas) • 304 Visitas
José Luis López Goytia / Ángel Gutiérrez González 1
4. El paradigma de la Programación Orientada a Objetos
4.1. Un acercamiento intuitivo al paradigma de la POO
El desarrollo tecnológico pretende lograr que los sistemas estén integrados por
componentes relativamente independientes, diseñados y probados antes de ser
incorporados a un sistema global, de manejo sencillo y fácil construcción. Todo
ello con la idea de que si algún componente presenta problemas sólo hay que
remplazarlo por otro para solucionar la situación. A esta esta estrategia se le
conoce como desarrollo modular. En general, se busca la reutilización de
componentes o módulos de programas como lo hacen las bibliotecas de los
propios lenguajes de programación.
En la programación estructurada esta idea se cristalizó a través de subrutinas
agrupadas en bibliotecas. Sin embargo, al paso del tiempo este avance fue
insuficiente. Por ello, surgió la programación orientada a objetos (POO) como un
intento para dominar la complejidad del desarrollo de software.
Para llegar a una buena práctica de la Programación Orientada a Objetos hay
que proseguir con el enfoque modular, que busca aplicar principios de
abstracción al dividir un problema complejo en distintos módulos o partes. En
otras palabras, se trata de agregar un nuevo tipo de módulo -en nuestro caso,
clases y objetos- que permita manejar las variables que siempre es necesario
manipular en los programas
Al inicio es más fácil acercarse a este nuevo paradigma a través de ejemplos
de la vida cotidiana. Si miramos a nuestro alrededor podemos percibir que
estamos rodeados de objetos: muy probablemente en casa tenemos una
televisión, un teléfono, una computadora, un automóvil, una bicicleta y muchas
otras cosas más. Cada uno de estos objetos está compuesto por distintas partes o
componentes que interactúan con otras.Para el caso de una bicicleta sabemos
José Luis López Goytia / Ángel Gutiérrez González 2
que tiene cadena, ruedas y varios objetos más, de tal forma que si los armamos o
integramos adecuadamente tendremos el objeto bicicleta.
En todos los objetos existen componentes que el usuario final puede manipular
para hacerlos funcionar. No obstante, la forma en que trabajan está a nivel interno
y debe de ser desconocida e inaccesible para el propio usuario, lo cual hace más
fácil su manejo y brinda un aspecto de seguridad (¿se sentiría bien si supiera que
cualquier persona puede alterar la lógica interna del tablero del elevador?). En
teoría, un componente sólo debería comunicarse con otros componentes a través
de los controles establecidos para ello. El foco de un cuarto únicamente debiera
prenderse y apagarse a través de los contactos y no permitir que existiera un
"cable oculto" en la sala que también pudiera cubrir dicha funcion, pues aunque da
ciertas ventajas también podría ocasionar desde molestias hasta accidentes
graves. ¿Suena exagerado? En muchos países miles de medidores de luz tienen
"diablitos" que permiten que el hogar o el negocio reciban energía eléctrica sin que
este consumo quede registrado para el cobro correspondiente (y muchos de estos
"diablitos" improvisados han causado incendios).
Si los componentes funcionan correctamente es mucho más fácil su
instalación y reemplazo. Un ratón de computadora que ya no sirva puede ser
sustituido con suma facilidad siempre y cuando el nuevo ratón cubra con la misma
interfase para interactuar con el sistema (en la actualidad, la entrada USB se ha
convertido prácticamente en un estándar de entrada para este tipo de
dispositivos)1.
Esta forma de visualizar los objetos permite el diseño de aplicaciones
orientadas a objetos y su posterior programación con lenguajes orientados a
objetos, independientemente de cual se utilice. Cuando un programa está
1 Un tema polémico acerca de la sustitución de componentes en el área electrónica y de cómputo
es el impacto ecológico que trae consigo, sobre todo por la llamaa obsolescencia programada.
¿Hasta dónde debe tirarse un componente y hasta qué punto debe ser reparado? El tema va más
allá de lo teórico, pues también aplica a los componentes de software. Lamentablemente, la
discusión queda fuera de los alcances de este libro.
José Luis López Goytia / Ángel Gutiérrez González 3
elaborado en función de sus componentes, cada uno de ellos tiene una función
predeterminada y puede interactuar con otros de diferentes formas predefinidas.
La programación orientada a objetos es una manera diferente ver o atacar los
problemas. De ahí la posible dificultad de aprender un lenguaje orientado a objetos
sin entender las bases de la programación orientada a objetos.
Si se observa con cuidado, muchos de estos conceptos ya se aplican a
subrutinas, pero la programación orientada a objetos crea una mayor
independencia de los componentes con el programa principal.
POO y objetos
Un primer acercamiento intuitivo a la programación orientada a objetos pasa,
justamente por los objetos, llamados también instancias de clase. Por ejemplo, mi
computadora es una de las tantas que existen, representa una instancia de la
clase de objetos conocida como computadoras. Como lo mencionamos
anteriormente los objetos tienen estados o atributos: marca, procesador8 y
algunos métodos: lectura de archivos, escritura de archivos.
El factor determinante es el estado muy particular de cada computadora, que
es independiente del estado de las demás computadoras. La particularidad de
cada atributo puede ser diferente en cada caso. Una computadora tiene un
procesador, que es de alguna de las distintas velocidades de procesamiento que
existen; también puede ser de una marca entre varias. De tal forma que podemos
definir un grupo de variables y métodos para todas las computadoras.
En la programación orientada a objetos se abordan los problemas a través de
objetos, situándolos en un escenario del "mundo real" del problema para
implementarlo en nuestro programa. Por ejemplo, si hacemos referencia al objeto
automóvil, podemos deducir que tiene características y diferente comportamiento.
José Luis López Goytia / Ángel Gutiérrez González
...