Professional Documents
Culture Documents
Persona,
cuando
utilizamos
el auto-completar del
eclipse
vemos
que
la
clase recin creada Persona tiene muchos mas mtodos los cuales nunca creamos, por
ejemplo:el mtodo .equals(),hashCode(), etc.
En el anterior diagrama UML, podemos ver como todas las clases creadas heredan de la
clase Object. Esto a excepcin de Cliente que hereda de Usuario, aunque al estar sta ltima
heredando de Object convierte automticamente a Cliente en un Object tambin.
La clase Object est situada en la parte ms alta del rbol de la herencia en el entorno de
desarrollo de Java. Todas las clases del sistema Java son descendentes (directos o indirectos)
de la clase Object. Esta clase define los estados y comportamientos bsicos que todos los
objetos deben tener, como la posibilidad de compararse unos con otros, de convertirse a
cadenas, de esperar una condicin variable, de notificar a otros objetos que la condicin
variable ha cambiado y devolver la clase del objeto.
El mtodo equals()
equals() se utiliza para comparar si dos objetos son iguales. Este mtodo devuelve true si los
objetos son iguales, o false si no lo son. Observe que la igualdad no significa que los objetos
sean el mismo objeto. Consideremos este cdigo que compara dos enteros.
Este cdigo mostrar Los objetos son Iguales aunque uno y otroUno referencian a dos objetos
distintos. Se les considera iguales porque su contenido es el mismo valor entero.
Las clases deberan sobreescribir este mtodo proporcionando la comprobacin de igualdad
apropiada. Un mtodo equals() debera comparar el contenido de los objetos para ver si son
funcionalmente iguales y devolver true si es as.
El mtodo getClass()
El mtodo getClass() es un mtodo final (no puede sobreescribirse) que devuelve una
representacin en tiempo de ejecucin de la clase del objeto. Este mtodo devuelve un objeto
Class al que se le puede pedir varia informacin sobre la clase, como su nombre, el nombre de
su superclase y los nombres de los interfaces que implementa. El siguiente mtodo obtiene y
muestra el nombre de la clase de un objeto.
El mtodo toString()
Este mtodo devuelve una cadena de texto que representa al objeto. Se puede utilizar toString
para mostrar un objeto. Por ejemplo, se podra mostrar una representacin del Thread actual
de la siguiente forma.
System.out.println(Thread.currentThread().toString());
System.out.println(new Integer(44).toString());
Thread[main,5,main]
4
El mtodo toString() es muy til para depuracin y tambin puede sobreescribir este mtodo
en todas las clases.
. Otros mtodos de Object cubiertos en otras lecciones o secciones
La clase Object proporciona un mtodo, finalize() que limpia un objeto antes de recolectar la
basura. Este mtodo se explica en la leccin Eliminar Objetos no Utilizados. Tambin en:
Escribir un Mtodo finalize() puedes ver cmo sobreescribir este mtodo para manejar las
necesidades de finalizacin de las clases
CLASE BICICLETA
public class Bicicleta {
// La clase Bicicleta tiene
// tres campos
public int cadencia;
public int marchas;
public int velocidad;
// La clase Bicicleta tiene
// un constructor
public Bicicleta(int startCadencia, int startVelocidad, int
startMarchas) {
marchas = startMarchas;
cadencia = startCadencia;
velocidad = startVelocidad;
}
// La clase Bicicleta tiene
// cuatro mtodos
public void setCadencia(int newValue) {
cadencia = newValue;
}
public void setMarchas(int newValue) {
marchas = newValue;
}
public void frenar(int disminuir) {
velocidad -= disminuir;
}
public void acelerar(int incrementar) {
velocidad += incrementar;
}
}
Una declaracin de clase para una clase BicicletaMontaera que es una subclase de la
bicicleta podra tener este aspecto:
public class BicicletaMontaera extends Bicicleta {