Escolar Documentos
Profissional Documentos
Cultura Documentos
Iniciacin a la programacin
Qu es JAVA?
JAVA es un lenguaje orientado a objetos y su sintaxis es muy parecida a la de C++. Es multiplataforma, usando la JVM. OO (orientacin a objetos) significa que cualquier elemento que creemos y que usemos ser un objeto, en el amplio sentido que conocemos, con sus elementos y su utilidad.
En nuestro caso, sustituiremos el editor de texto por un entorno ms til llamado ECLIPSE en su versin 3.2.1
Cmo es su estructura?
En Java, todos los objetos pertenecen a una CLASE. Podramos decir que una clase como una ESTRUCTURA en C++ pero con muchos matices. Existe una clase superior que engloba a todas las dems clases. Es la clase OBJECT y todas cuelgan de ella.
Cmo es su estructura?
Un archivo Java tiene la extensin .java y puede contener varias clases pero SLO UNA DE ELLAS puede ser public. public significa que se puede ser vista desde el exterior y el nombre de esa clase debe coincidir exactamente con el nombre del archivo .java ya que distingue entre maysculas y minsculas.
Cmo es su estructura?
Podemos crear muchas clases y agruparlas en packages o paquetes, que no son ms que libreras de clases relacionadas, por ejemplo, matemticas. Para ejecutar un programa debemos crear un mtodo main() en una de las clases del paquete (Su funcionamiento es igual que en C++).
Vemos como un objeto de una clase puede contener otros objetos de otras clases
Convenios en la nomenclatura
Zona de edicin de los archivos abiertos. Es donde escribiremos nuestro cdigo java.
Zona de edicin de los archivos abiertos. Es donde escribiremos nuestro cdigo java.
Zona de salida de datos. Aqu aparecern advertencias a la hora de ejecutar/compilar y la salida estndar de nuestros programas.
Iremos a Archivo -> Nuevo -> Proyecto -> Proyecto Java Por norma general tomaremos que los nombres de los proyectos deben comenzar con minusculas. Ms concretamente tomaremos por convenio comenzar con pr, por ejemplo prPunto. Pulsaremos sobre el botn Finalizar
Iremos a Archivo -> Nuevo -> Clase Tomaremos por convenio que los nombre de las clases comenzarn por Maysculas, por ejemplo, Punto. Pulsaremos sobre el botn Finalizar. No entraremos en detalle del resto de opciones, por ahora.
Ya podemos ver nuestro proyecto, nuestro paquete predeterminado, nuestro archivo Punto.java y las clases que lo componen.
Ya podemos ver nuestro proyecto, nuestro paquete predeterminado, nuestro archivo Punto.java y las clases que lo componen.
Ya podemos ver nuestro proyecto, nuestro paquete predeterminado, nuestro archivo Punto.java y las clases que lo componen.
Este es el cdigo java que genera nuestra clase Punto. Ahora tenemos que completarla.
Para definir una clase debemos definir sus atributos y sus mtodos, como vimos anteriormente. En nuestro caso de estudio, el Punto, vamos a definir como atributos su coordenada X y su coordenada Y, de tipo double.
Una de las cosas indispensables de una clase son sus mtodos CONSTRUCTORES que son los que se encargan de reservar memoria e inicializar el objeto cuando lo creamos.
Los constructores son mtodos especiales ya que no devuelven ningn valor y, adems, coinciden con el nombre de la clase.
public class Punto { double coordenadaX, coordenadaY; Punto(){ coordenadaX = 0.0; coordenadaY = 0.0; } }
Este constructor se denomina constructor por defecto o estndar porque no se le pasa ningn parmetro. Usualmente necesitaremos ms de un constructor, por lo que recurriremos a lo que se llama sobrecarga, que es usar un mismo nombre para funciones distintas, diferencindose entre si por sus parmetros. Aqu vemos un caso de esta sobrecarga con los constructores. Es una prctica muy habitual.
public class Punto { double coordenadaX, coordenadaY; Punto (){ coordenadaX = 0.0; coordenadaY = 0.0; } Punto (double x, double y){ coordenadaX = x; coordenadaY = y; } }
Una vez tenemos una clase creada, estamos en disposicin de usarla pero Cmo se usa una clase? Para ello vamos a definir una nueva clase, a la que llamaremos Test y ser la que se encargue de ejecutar el cdigo que queramos y usar las clases existentes. Esta nueva clase test ser la que contendr el mtodo main(). De nuevo iremos a Archivo -> Nuevo -> Clase
Para que el propio Eclipse nos cree nuestro mtodo main() slo necesitamos marcar la casilla que aparece marcada. No olvides que el nombre de nuestras clases comienzan por maysculas. Test, en nuestro caso.
Objetos creados
Aqu tenemos el cdigo que ejecutar nuestro compilador. Tenemos la clase Test, publica, que est compuesta por el mtodo main(), publico, esttico y que no devuelve ningn valor (void). static (mtodo esttico o de clase) significa que se puede invocar sin haber creado ningn objeto de esa clase (Test, en este caso), a diferencia de los mtodos normales (de instancia) que deben ser invocados a travs de un objeto de su clase.
public class Test { public static void main(String[] args) { Punto p1 = new Punto(); Punto p2 = new Punto(0.0, 0.0); } }
En este mtodo main() vemos como creamos 2 objetos de la clase Punto, uno con el constructor por defecto y el otro con el constructor con parmetros.
Como habamos dicho en un principio, los objetos son como variables de un tipo estructura (C++). Por tanto, para acceder a sus parmetros y mtodos usaremos el operador . Veremos como el entorno de desarrollo Eclipse nos va a ayudar bastante en esta labor, ya que nos dar informacin de las variables y mtodos que podemos invocar en cada objeto.
Como nuestra clase, por el momento, no tiene mucha funcionalidad, solamente seremos capaces de usar las coordenadas de cada uno de nuestros objetos. Para mostrar por pantalla datos y cadenas de texto (al igual que hacamos con cout en C++) usaremos el mtodo System.out.println(Object o); que acepta un objeto de cualquier tipo por parmetro y lo muestra en nuestra pantalla. Este mtodo es un ejemplo de mtodo sobrecargado, ya que acepta como parmetros objetos de muchas clases distintas y realiza su cometido, que es mostrar por pantalla el resultado. Veamos un ejemplo.
Escribamos en nuestro main(), justo despus de crear nuestros objetos las siguientes lneas de cdigo:
System.out.println("Punto 1: ("+ p1.coordenadaX +", "+p1.coordenadaY +")"); System.out.println("Punto 2: ("+ p2.coordenadaX +", "+p2.coordenadaY +")");
Ahora, guardamos ambos archivos y vamos a ejecutar nuestro cdigo. Para ello pulsaremos en el men superior:
Ejercicios a realizar
Una vez sabido como se crean clases, atributos y mtodos, realizar lo siguiente:
Un mtodo para trasladar un punto (x,y) posiciones. Un mtodo para mover un punto a la posicin (x,y). Una clase Circulo, definida por un Punto como centro y un double como radio. Crear los mtodos trasladar y mover para el Circulo
La clase Circulo
La clase Circulo est compuesta por un Punto llamado centro y un double llamado radio.
Hay que tener en cuenta que contiene un Punto pero no hereda de la clase Punto. Las propiedades de la herencia las veremos ms adelante. Circulo simplemente est compuesta por objetos de otras clases.
Como su nombre indica, un CONSTRUCTOR construye el objeto de su clase. Por tanto, si la clase est compuesta por otros objetos (como es nuestro caso) debemos tener creados los objetos que la compongan o crearlos nosotros.
As quedaran nuestros constructores en la clase circulo. Destacar que el 2 constructor que acepta un por parmetro un Punto requiere que ese punto ya exista. Por eso, no lo creamos nosotros explcitamente como en los otros.
Los mtodos Getter son los encargados de leer esos parmetros. Normalmente existe un mtodo Getter y un Setter por cada parmetro. Como los Getter sirven para leer o adquirir (Get) el valor de las variables podemos intuir que los Setter escriben o modifican (Set) dichos parmetros. Por norma general, estos mtodos son pblicos.
Los mtodos Getter, como cualquier mtodo devuelven un valor. En este caso, el valor que devuelve es el valor del propio parmetro que est leyendo sin recibir parametros. Los mtodos Setter, sin embargo, no devuelven nada, son void, pero aceptan como parmetros un objeto del tipo que se quiera modificar. Vemoslo en el ejemplo junto con su nomenclatura habitual.
Ntese que los mtodos Getter comienzan con la palabra get y los Setter con la palabra set, seguidos del nombre del parmetro. Haremos esto tambin para la clase Punto.