CLASES

|

Una clase es una agrupación de datos (variables o campos) y de funciones (métodos) que operan sobre esos datos.

Las cartacteristicas de una clase son las siguientes:

1) Todas las variables y funciones de Java deben pertenecer a una clase.
2) Si una clase deriva de otra (extends), hereda todas sus variables y métodos.
3) Java tiene una jerarquía de clases estándar de la que pueden derivar las clases que crean los usuarios.
4) En Java no hay herencia múltiple.
5) En un fichero se pueden definir varias clases, pero en un fichero no puede haber más que una clase public.
6) Si una clase contenida en un fichero no es public, no es necesario que el fichero se llame como la clase.
7) Los métodos de una clase pueden referirse de modo global al objeto de esa clase al que se aplican por medio de la referencia this.
8) Las clases se pueden agrupar en packages, introduciendo una línea al comienzo del fichero (package packageName;).

Tipos de Clases

Abstract.- Una clase abstract tiene al menos un método abstracto. Una clase abstracta no se instancia, sino que se utiliza como clase base para la herencia.

Final.- Una clase final se declara como la clase que termina una cadena de herencia. No se puede heredar de una clase final. Por ejemplo, la clase Math es una clase final.

Public.- Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas.

Synchronizable.- Este modificador especifica que todos los métodos definidos en la clase son sincronizados, es decir, que no se puede acceder al mismo tiempo a ellos desde distintos threads; el sistema se encarga de colocar los flags necesarios para evitarlo. Este mecanismo hace que desde threads diferentes se puedan modificar las mismas variables sin que haya problemas de que se sobreescriban.

EJEMPLO ROBOT:

SOBRE CARGA DE FUNCIONES

|

La sobrecarga se refiere a la posibilidad de tener dos o mas funciones con el mismo nombre pero funcionalidad diferente. Es decir, dos o más funciones con el mismo nombre realizan acciones diferentes. El compilador usará una u otra dependiendo de los parámetros usados.

  1. Sobrecarga de Métodos.- Algunos métodos en una clase pueden tener el mismo nombre. Estos métodos deben contar con diferentes argumentos. El compilador decide que método invocar comparando los argumentos. Se generara un error si los métodos solo varían en el tipo de retorno.

CONSTRUCTORES

|

El constructor es un tipo especifico de metodo que siempre tiene el mismo nombre que la clase y se utiliza para construir objetos de esa clase. No tiene tipo de dato especifico de retorno, ni siquiera void. Esto se debe a que el tipo especifico que debe devolver un constructor de clase es el propio tipo de la clase. En este caso, pues, no se puede especificar un tipo de retorno, ni se puede colocar ninguna sentencia que devuelva un valor. Los constructores pueden sobrecargarse, y aunque puedan contener codigo, su funcion primordial es incializar el nuevo objeto que se instancia de la clase.

ejemplo1:

String status;

int temperature;

int speed;

robot(String atr1,int atr2,int atr3)

{

status=atr1;

temperature=atr2;

speed=atr3;

}

void checktemperature()

{

if(temperature>=100)

{

status="regresa al cubil";

speed=6;

}

}

void Showattributes(){

System.out.println("status" + status);

System.out.println("temperature" + temperature);

System.out.println("speed" + speed);

}