TutorJava Nivel Básico

Se declara que un clase es una subclase de otra clase dentro de La declaraci�n de Clase. Por ejemplo, supongamos que queremos crear una subclase llamada SubClase de otra clase llamada SuperClase. Se escribir�a esto.

class SubClass extends SuperClass {
    . . .
}

Esto declara que SubClase es una subclase de SuperClase. Y tambi�n declara impl�citamene que SuperClase es la superclase de SubClase. Una subclase tambi�n hereda variables y miembros de las superclases de su superclase, y as� a lo largo del �rbol de la herencia. Para hacer esta explicaci�n un poco m�s sencilla, cuando este tutorial se refiere a la superclase de una clase significa el ancestro m�s directo de la clase as� como a todas sus clases ascendentes.

Una clase Java s�lo puede tener una superclase directa. Java no soporta la herencia m�ltiple.

Crear una subclase puede ser tan sencillo como incluir la clausula extends en la declaraci�n de la clase. Sin embargo, normalmente se deber� realizar alguna cosa m�s cuando se crea una subclase, como sobreescribir m�todos, etc...

.��Qu� variables miembro hereda una subclase?

Regla:

Una subclase hereda todas las variables miembros de su superclase que puedan ser accesibles desde la subclase (a menos que la variable miembro est� oculta en la subclase).

Esto es, las subclases.

  • heredan aquellas variables miembros declaradas como public o protected
  • heredan aquellas variables miembros declaradas sin especificador de acceso (normalmente conocidas como "Amigas") siempre que la subclase est� en el mismo paquete que la clase
  • no hereda las variables miembros de la superclase si la subclase declara una variable miembro que utiliza el mismo nombre. La variable miembro de la subclase se dice que oculta a la variable miembro de la superclase.
  • no hereda las variables miembro private

.�Ocultar Variables Miembro

Como se mencion� en la secci�n anterior, las variables miembros definidas en la subclase ocultan las variables miembro que tienen el mismo nombre en la superclase.

Como esta caracter�stica del lenguaje Java es poderosa y conveniente, puede ser una fuente de errores: ocultar una variable miembro puede hacerse deliberadamente o por accidente. Entonces, cuando nombres tus variables miembro se cuidadoso y oculta s�lo las variables miembro que realmente deseas ocultar.

Una caracteristica interesante de las variables miembro en Java es que una clase puede acceder a una variable miembro oculta a trav�s de su superclase. Considere este pareja de superclase y subclase.

class Super {
    Number unNumero;
}
class Sub extends Super {
    Float unNumero;
}

La variable unNumero de Sub oculta a la variable unNumero de Super. Pero se puede acceder a la variable de la superclase utilizando.

super.unNumero

super es una palabra clave del lenguaje Java que permite a un m�todo referirse a las variables ocultas y m�todos sobreescritos de una superclase.

.��Qu� m�todos hereda una Subclase?

La regla que especifica los m�todos heredados por una subclase es similar a la de las variables miembro.

Regla:

Una subclase hereda todos los m�todos de sus superclase que son accesibles para la subclase (a menos que el m�todo sea sobreescrito por la subclase).

Esto es, una Subclase.

  • hereda aquellos m�todos declarados como public o protected
  • hereda aquellos m�todos sin especificador de acceso, siempre que la subclase est� en el mismo paquete que la clase.
  • no hereda un m�todo de la superclase si la subclase declara un m�todo que utiliza el mismo nombre. Se dice que el m�todo de la subclase sobreescribe al m�todo de la superclase.
  • no hereda los m�todos private.

.Sobreescribir M�todos

La habilidad de una subclase para sobreescribir un m�todo de su superclase permite a una clase heredar de su superclase aquellos comportamientos "m�s cercanos" y luego suplementar o modificar el comportamiento de la superclase.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP