Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Cursos gratis / Java partiendo de Cero - Estructura de una clase

Java partiendo de Cero - Estructura de una clase

 ****- (59 opiniones)
Copyright Curso gratis de Jorge Bourdette - 26 de Agosto de 2005
Temas Relacionados: JavaProgramación web
11. Estructura de una clase
Una clase consiste en:

algunas_palabras class nombre_de_la_clase [algo_más] {
[lista_de_atributos]
[lista_de_métodos]
}

Lo que está entre [ y ] es opcional

Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

La lista de atributos (nuestras viejas variables locales) sigue el mismo formato de C: se define primero el tipo y luego el nombre del atributo, y finalmente el ";".

public final static int MAX_VALUE

;

También tenemos "algunas_palabras" adelante, pero en seguida las analizaremos.

En cuanto a los métodos, también siguen la sintaxis del C; un ejemplo:

public int incContador() { declaración y apertura de {
cnt++;
instrucciones, separadas por ";"
return(cnt);
} cierre de }

Finalmente, se aceptan comentarios entre /* y */, como en C, o bien usando
al principio del comentario (el comentario termina al final de la línea).

Veamos un ejemplo:

Implementación de un contador sencillo
GRABAR EN UN ARCHIVO "Contador.java" (OJO CON LAS MAYUSCULAS!)
COMPILAR CON: "javac Contador.java" (NO OLVIDAR EL .java!)
ESTA CLASE NO ES UNA APLICACION, pero nos va a servir enseguida

public class Contador { Se define la clase Contador

Atributos
int cnt; Un entero para guardar el valor actual

Constructor Un método constructor…
public Contador() {
…lleva el mismo nombre que la clase
cnt = 0; Simplemente, inicializa (1)
}

Métodos
public int incCuenta() { Un método para incrementar el contador
cnt++;
incrementa cnt
return cnt; y de paso devuelve el nuevo valor
}
public int getCuenta() {
Este sólo devuelve el valor actual
return cnt; del contador
}
}

Cuando, desde una aplicación u otro objeto, se crea una instancia de la clase Contador, mediante la instrucción:

new Contador()

el compilador busca un método con el mismo nombre de la clase y que se corresponda con la llamada en cuanto al tipo y número de parámetros. Dicho método se llama Constructor, y una clase puede tener más de un constructor (no así un objeto o instancia, ya que una vez que fue creado no puede recrearse sobre sí mismo).

En tiempo de ejecución, al encontrar dicha instrucción, el intérprete reserva espacio para el objeto/instancia, crea su estructura y llama al constructor.

O sea que el efecto de new Contador() es, precisamente, reservar espacio para el contador e inicializarlo en cero.

En cuanto a los otros métodos, se pueden llamar desde otros objetos (lo que incluye a las aplicaciones) del mismo modo que se llama una función desde C.

Por ejemplo, usemos nuestro contador en un programa bien sencillo que nos muestre cómo evoluciona:

Usemos nuestro contador en una mini-aplicación
GRABAR EN UN ARCHIVO "Ejemplo1.java" (OJO CON LAS MAYUSCULAS!)
COMPILAR CON: "javac Ejemplo.java" (NO OLVIDAR EL .java!)
EJECUTAR CON: "java Ejemplo1" (SIN el .java)

import java.io.*;
Uso la biblioteca de entradas/salidas

public class Ejemplo1 { IMPORTANTE: Nombre de la clase
igual al nombre del archivo!
entero para asignarle el valor del contador e imprimirlo
aunque en realidad no me hace falta.
static int n;
y una variable tipo Contador para instanciar el objeto…
static Contador laCuenta;

ESTE METODO, MAIN, ES EL QUE HACE QUE ESTO SE COMPORTE
COMO APLICACION. Es donde arranca el programa cuando ejecuto "java Ejemplo1"
NOTA: main debe ser public & static.
public static void main ( String args[] ) {
System.out.println ("Cuenta… "); Imprimo el título
laCuenta = new Contador();
Creo una instancia del Contador
System.out.println (laCuenta.getCuenta()); 0 - Imprimo el valor actual (cero!)
n = laCuenta.incCuenta();
1 - Asignación e incremento
System.out.println (n); Ahora imprimo n
laCuenta.incCuenta();
2 - Lo incremento (no uso el valor…
System.out.println (laCuenta.getCuenta()); …de retorno) y lo imprimo
System.out.println (laCuenta.incCuenta());
3 - Ahora todo en un paso!
}
}

En el capítulo III vamos a analizar este programa en detalle. Por ahora veamos la diferencia con un applet que haga lo mismo:


Applet de acción similar a la aplicación Ejemplo1
GRABAR EN ARCHIVO: "Ejemplo2.java"
COMPILAR CON: "javac Ejemplo2.java"
PARA EJECUTAR: Crear una página HTML como se indica luego
import java.applet.*;
import java.awt.*;

public class Ejemplo2 extends Applet {
static int n;
static Contador laCuenta;

Constructor…
public Ejemplo2 () {
laCuenta = new Contador();
}

El método paint se ejecuta cada vez que hay que redibujar
NOTAR EL EFECTO DE ESTO CUANDO SE CAMBIA DE TAMAÑO LA
VENTANA DEL NAVEGADOR!
public void paint (Graphics g) {
g.drawString ("Cuenta...", 20, 20);
g.drawString (String.valueOf(laCuenta.getCuenta()), 20, 35 );
n = laCuenta.incCuenta();
g.drawString (String.valueOf(n), 20, 50 );
laCuenta.incCuenta();
g.drawString (String.valueOf(laCuenta.getCuenta()), 20, 65 );
g.drawString (String.valueOf(laCuenta.incCuenta()), 20, 80 );
}
}

Ahora es necesario crear una página HTML para poder visualizarlo. Para esto, crear y luego cargar el archivo ejemplo2.htm con un browser que soporte Java (o bien ejecutar en la ventana DOS: "appletviewer ejemplo2.htm"):

<HTML>
<HEAD>
<TITLE>Ejemplo 2 - Applet Contador</TITLE>
</HEAD>
<BODY>
<applet code="Ejemplo2.class" width=170 height=150>
</applet>
</BODY>
</HTML>

Para terminar este capítulo, observemos las diferencias entre la aplicación standalone y el applet:

  • La aplicación usa un método main, desde donde arranca
  • El applet, en cambio, se arranca desde un constructor (método con el mismo nombre que la clase)

Además:

  • En la aplicación utilizamos System.out.println para imprimir en la salida estándar
  • En el applet necesitamos "dibujar" el texto sobre un fondo gráfico, por lo que usamos el método g.drawString dentro del método paint (que es llamado cada vez que es necesario redibujar el applet)

Con poco trabajo se pueden combinar ambos casos en un solo objeto, de modo que la misma clase sirva para utilizarla de las dos maneras:


Archivo: Ejemplo3.java
Compilar con: javac Ejemplo3.java
import java.applet.*;
import java.awt.*;
import java.io.*;

public class Ejemplo3 extends Applet {
static int n;
static Contador laCuenta;

public Ejemplo3 () {
laCuenta = new Contador();
}

public static void main(String args[]) {
laCuenta = new Contador();
paint();
}

public static void paint () {
System.out.println ("Cuenta...");
System.out.println (laCuenta.getCuenta());
n = laCuenta.incCuenta();
System.out.println (n);
laCuenta.incCuenta();
System.out.println (laCuenta.getCuenta());
System.out.println (laCuenta.incCuenta());
}
public void paint (Graphics g) {
g.drawString ("Cuenta...", 20, 20);
g.drawString (String.valueOf(laCuenta.getCuenta()), 20, 35 );
n = laCuenta.incCuenta();
g.drawString (String.valueOf(n), 20, 50 );
laCuenta.incCuenta();
g.drawString (String.valueOf(laCuenta.getCuenta()), 20, 65 );
g.drawString (String.valueOf(laCuenta.incCuenta()), 20, 80 );
}
}

Esta clase puede ejecutarse tanto con "java Ejemplo3" en una ventana DOS, como cargarse desde una página HTML con:

<applet code="Ejemplo3.class" width=170 height=150>
</applet>

Notar que conviene probar el applet con el appletviewer ("appletviewer ejemplo3.htm"), ya que éste indica en la ventana DOS si hay algún error durante la ejecución. Los browsers dejan pasar muchos errores, simplemente suprimiendo la salida a pantalla del código erróneo.

Notar que en todo este desarrollo de las clases Ejemplo1, Ejemplo2 y Ejemplo3, en ningún momento volvimos a tocar la clase Contador!

En el próximo capítulo analizaremos el código línea por línea para ir comprendiendo los distintos elementos que allí aparecen.
Tabla de contenidos
  1. 1 - JAVA DESDE CERO
  2. 2 - Qué es Java
  3. 3 - Lenguaje de Objetos
  4. 4 - Independiente de la plataforma
  5. 5 - Algunas características
  6. 6 - El Java Development Kit
  7. 7 - EMPECEMOS DE UNA VEZ!
  8. 8 - Javascript
  9. 9 - Al fin. Java!
  10. 10 - LAS CLASES EN JAVA
  11. 11 - Estructura de una clase
  12. 12 - ESTRUCTURA DE CLASES
  13. 13 - Declaración de la clase
  14. 14 - El cuerpo de la clase
  15. 15 - EL CUERPO DE LOS MÉTODOS
  16. 16 - Declaración de variables locales
  17. 17 - Asignaciones a variables
  18. 18 - Operaciones matematicas
  19. 19 - Llamadas a métodos
  20. 20 - LAS ESTRUCTURAS DE CONTROL
  21. 21 - if.[else]
  22. 22 - Switch.case.brake.default
  23. 23 - While
  24. 24 - Do.while
  25. 25 - For
  26. 26 - Break y continue
  27. 27 - Otras...
  28. 28 - HAGAMOS ALGO...
  29. 29 - La clase Complejo
  30. 30 - Algo sobre los métodos
  31. 31 - JAVA A TRAVÉS DE LA VENTANA
  32. 32 - Nuestra primera ventana
  33. 33 - Un poco de detalle
  34. 34 - Y los eventos...
  35. 35 - UNA VENTANA CON VIDA
  36. 36 - Viajando con Java
  37. 37 - Preparando listas
  1. 38 - Agregando fechas
  2. 39 - Juntando todo hasta aquí
  3. 40 - COMPLETANDO LA VENTANA
  4. 41 - Un poquito de actividad
  5. 42 - Y para terminar...
  6. 43 - Finale con tutto
  7. 44 - UN PARÉNTESIS DE ENTRADA/SALIDA
  8. 45 - Primera Lectura
  9. 46 - Capturando excepciones
  10. 47 - Los applets y los archivos
  11. 48 - Nuestro modesto "Editor"
  12. 49 - VOLVIENDO AL AWT
  13. 50 - Menú a la Java
  14. 51 - Dialogos
  15. 52 - DIBUJAVA
  16. 53 - Canvas en acción
  17. 54 - El applet-container
  18. 55 - Nuestro Canvas a medida
  19. 56 - DIBUJAVA II
  20. 57 - Vectores en acción
  21. 58 - Flicker molesto!
  22. 59 - Anímate!
  23. 60 - JAVA EN HEBRAS
  24. 61 - Los pasos basicos
  25. 62 - Reunión de amigos
  26. 63 - Creando Threads
  27. 64 - Y los applets...?
  28. 65 - LA LIEBRE Y LA TORTUGA (Y EL GUEPARDO)
  29. 66 - Sincronicemos los relojes
  30. 67 - Mas sincronización
  31. 68 - MULTIMEDIA!
  32. 69 - Parametrizando un applet
  33. 70 - PASEANDO POR LA RED
  34. 71 - Los Sockets
  35. 72 - Un servidor atento
  36. 73 - El cliente satisfecho
Autor y licencia de 'Java partiendo de Cero - Estructura de una clase'
Jorge Bourdette Extraído de: http://www.publispain.com/supertutoriales Copyright
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Java partiendo de Cero - Estructura de una clase'

Este curso profundiza en la implementación de la clase CString dentro del framework MFC. Se... Más »
Amplio tutorial de Java para empezar a trabajar y ampliar conocimientos de este lenguaje.
En el mundo de los Incas, Mayas y Aztecas, el tiempo no es concebido proceder... Más »
Entre todos los seres vivientes el hombre es el único que tiene que darse una... Más »
Las manos y las palabras son, antes incluso que el arte, los órganos de comprensión... Más »
¿Estás seguro de que deseas eliminar este capítulo?