Antes de establecer los elementos del lenguaje, es necesario tener presentes los conceptos básicos de la programación orientada a objetos porque la sintaxis y el formato de Java están plenamente apegados a ellos.
Para empezar, todo parte del hecho de que el desarrollo de la programación de computadoras entró en crisis en los años 60 y 70 del s. XX porque las aplicaciones a menudo hacían cosas raras. Un caso es el del Centro de Cómputo Noruego en Oslo en el
que desarrollaban simuladores de vuelo; sucedía, cuando los ejecutaban, que las naves
colisionaban. Un análisis del problema probó que la aplicación confundía las características entre uno y otro objeto simulado; es decir, que la cantidad de combustible, la posición en el espacio o la velocidad de una nave eran atribuidas a otra.
Se concluyó que esto se debía al modo como programaban y que los lenguajes de entonces eran incapaces de resolver el problema. Ante esto, los expertos del Centro Noruego desarrollaron Simula 67 que fue el primer lenguaje orientado a objetos.
Así que la POO es una manera de diseñar y desarrollar software que trata de imitar la realidad tomando algunos conceptos esenciales de ella; el primero de éstos es, precisamente, el de objeto, cuyos rasgos son la identidad, el estado y el comportamiento. No debemos dejarnos intimidar por estas expresiones, son muy
simples:
La identidad es el nombre que distingue a un objeto de otro.
El estado son las características que lo describen.
El comportamiento es lo que puede hacer.
Se debe tener presente que los objetos, sean reales o su proyección en software, se abstraen en clases. Por ejemplo: de la clase perro pueden existir dos objetos Fido y Firuláis (esta es su identidad). Fido es un san bernardo enorme, pinto, de 5 años de edad; mientras que Firuláis es un labrador, negro, de 3 años (este es su estado). Ambos perros ladran, merodean, juguetean, comen y duermen (este es su comportamiento).
Si nos pidieran que hiciéramos un programa orientado a objetos que simulara lo anterior haríamos la clase Perro que tendría las variables raza, color y edad, y los métodos ladrar(), merodear(), juguetear(), comer() y dormir().
Firuláis y Fido son los identificadores que podríamos usar en una aplicación que pretenda mostrar dos objetos de la clase Perro.
Otros conceptos de la POO son el de abstracción y el de encapsulamiento, que están muy ligados y tienen que ver con el diseño de programas. Ambos se refieren a que los objetos deben hacer tareas que les son propias y no de otros. Por lo común, los objetos de la realidad no dan problemas porque ya existen. No fue difícil abstraer la clase Perro ni encapsular su comportamiento porque existe en la realidad. Para llevar esto al ámbito del software analicemos el caso del programa Hola Mundo. Hagamos el proceso de abstracción para encapsular sus características y su comportamiento.
El primer Hola Mundo lo popularizó Brian Kernighan en los años 70 del siglo XX, en un libro que causó mucho interés en su tiempo y que escribió junto a Dennis Ritchie:
Hoy en día, es una tradición presentar los lenguajes con un programa de este tipo, que lo que debe hacer es mostrar la frase “Hola mundo” en la pantalla, y sirve para probar que el lenguaje está debidamente instalado y funcionando.
http://www.cursodejava.com.mx © 2009 http://www.bienprogramado.com/
http://www.tresct.com/
Entonces, abstrayendo esto, podemos decir que el comportamiento de los objetos del tipo Hola Mundo es mostrar un mensaje y su característica, el mensaje mismo.
Lo que sigue es mostrar cómo los elementos de lenguaje Java nos permiten apegarnos a la orientación a objetos; para eso es necesario conocer dichos elementos, pero antes, para finalizar, un breve resumen.
Hemos introducido cinco conceptos de la POO:
1. La identidad, que es el nombre que distingue a los objetos
2. El estado, que se refiere a sus características o atributos
3. El comportamiento, que indica los métodos que se deben programar para que
los objetos realicen acciones
4. La abstracción, que es el mecanismo mental para aislar su naturaleza
5. El encapsulamiento, que exige que sus características y métodos estén bien
definidos y no se confundan con los de otros
No hay comentarios:
Publicar un comentario