Академический Документы
Профессиональный Документы
Культура Документы
Sin embargo, existen también grandes diferencias entre ambos lenguajes. Un programador
puede haber usado el lenguaje C++ como un lenguaje C mejorado sin haber usado para
nada la Programación Orientada a Objetos. Sin embargo, Java es un lenguaje plenamente
orientado a objetos, y para escribir el programa más simple hemos de definir una clase. Los
tipos básicos de datos son similares, pero los arrays son distintos, y las cadenas de
caracteres en Java son objetos de la clase String.
Introducción
Muchos lectores que hayan programado en algún lenguaje, comprenderán sin dificultad este
capítulo. Sin embargo, se recomienda leerlo con atención ya que incluso en los aspectos
básicos hay diferencias entre unos lenguajes y otros. En esta introdución aprenderemos
aspectos básicos del lenguaje Java: la primera aplicación, los comentarios, los tipos básicos
de datos, los operadores, las sentencias condicionales e iterativas.
Clases y objetos
La herencia y el polimorfismo
La parte más difícil de entender es el polimorfismo, es decir, la técnica que permite pasar
un objeto de una clase derivada a funciones que conocen el objeto solamente por su clase
base.
Las excepciones
Pasar datos a una función es uno de las dificultades con las que se enfrenta un programador
del lenguaje C++, ya que hay tres formas: por valor, por dirección y por referencia. En el
lenguaje Java lo simplifica extraordinariamente, ya que todo se pasa por valor, pero los
efectos son distintos, cuando se pasan tipos básicos de datos, de cuando se pasan objetos de
una determinada clase.
También, hay una gran diferencia en el mecanismo que nos permite dupicar un objeto, o de
crear un objeto que es idéntico a otro dado. En el lenguaje C++ se emplea el constructor
copia, mientras que en el lenguaje Java se redefine la función miembro clone de la clase
base Object.
Finalmente trataremos dos clases que son muy útiles para el programador: la clase Vector, y
la clase StringTokenizer. La clase Vector es similar a un array, pero no pone límite en el
número máximo de objetos que se pueden guardar. Además, nos proporciona un conjunto
de métodos para acceder, añadir o eliminar elementos.
La clase StringTokenizer, nos permite dividir un string dado en trozos o tokens. Su utilidad
se pone de manifiesto en el tratamiento de los datos que se introducen un un control área de
texto.
Archivos
Este capítulo no es esencial para el estudio de los applets ya que por razones de seguridad
los applets no pueden acceder a los archivos del ordenador cliente, por lo que puede ser
omitido en una primera lectura de este curso.
Sin embargo, el lenguaje Java no está diseñado exclusivamente para crear applets que
corren en una ventana del navegador, sino también aplicaciones como cualquier otra que
corremos en los entornos Windows, Unix, Macintosh o Linux. Muchas aplicaciones tienen
acceso a los dispositivos estándar y a los archivos en disco, por lo que el lenguaje Java
define un conjunto de clases agrupadas en jerarquías que describen los distintos flujos de
datos.
Una de las facetas más potentes del lengaje Java es la denominada serialización, que
permite convertir los objetos en un flujo de bytes, marcando tan solo la clase que describe
dichos objetos como Serializable. A su vez, esta característica del lenguaje nos permite
reconstruir los objetos leyendo un flujo de datos que proviene de una fuente normalmente
un archivo en disco o incluso de la propia Red.