Java desde Cero
Con ésta comienzo una serie de notas sobre Java, especialmente para aquellos que
quieren comenzar a
conocerlo y usarlo. Esto se originó en un interés que surgió en algunos de los
suscriptores del
mailing
list de
desarrolladores de
web, y que pongo a disposición también del de
webmasters.
Seguramente muchos de ustedes sabrán mucho más sobre Java que yo, y les agradeceré
todo tipo de
comentarios o correcciones.
La idea es dar una guía ordenada para el estudio de este lenguaje, muy
poderoso y de gran coherencia, aunque
todavía adolece de algunas limitaciones que seguramente se irán superando con el
tiempo.
Qué es Java
Java es un lenguaje originalmente desarrollado por un grupo de ingenieros de
Sun, utilizado por
Netscape
posteriormente como base para
Javascript. Si bien su uso se destaca en el
Web, sirve para crear todo tipo de
aplicaciones (locales,
intranet o
internet).
Java es un lenguaje:
•
de objetos
•
independiente de la plataforma
Algunas características notables:
•
robusto
•
gestiona la memoria automáticamente
•
no permite el uso de técnicas de programación inadecuadas
•
multithreading
•
cliente-servidor
•
mecanismos de seguridad incorporados
•
herramientas de documentación incorporadas
Lenguaje de Objetos
Por qué puse "de" objetos y no "orientado a" objetos? Para destacar que, al contrario de
otros lenguajes como
C++, no es un lenguaje modificado para poder trabajar con objetos sino que es un
lenguaje creado para
trabajar con objetos desde cero. De hecho, TODO lo que hay en Java son objetos.
Qué es un objeto?
Bueno, se puede decir que todo puede verse como un objeto. Pero seamos más claros.
Un objeto, desde
nuestro punto de vista, puede verse como una pieza de software que cumple con ciertas
características:
•
encapsulamiento
•
herencia
Encapsulamiento significa que el objeto es
auto-contenido, o sea que la misma definición del objeto incluye
tanto los datos que éste usa (
atributos
) como los procedimientos (
métodos
) que actúan sobre los mismos.
Cuando se utiliza programación orientada a objetos, se definen
clases
(que definen objetos genéricos) y la
forma en que los objetos
interactúan entre ellos, a través de
mensajes
. Al crear un objeto de una clase dada, se
dice que se crea una
instancia
de la clase, o un objeto propiamente dicho. Por ejemplo, una clase podría ser
"autos", y un auto dado es una
instancia
de la clase.