Declarar Clases
Una clase es un proyecto o prototipo que se puede
utilizar para crear objetos. La implementación de una clse comprende de dos
componentes: la declaración y el cuerpo de la clase:
DeclaraciónDeLaClase{
CuerpoDeLaClase
}
La Declaración de la Clase
Como mínimo, la declaración
de una clase debe contener la palabra clave class y el nombre de la clase que está definiendo. Los nombres de
las clases deben ser un identificador legal de Java y, por convención, deben
empezar por una letra mayúscula.
class
NombredeClase{
…
}
Sin embargo, la declaración
de una clase puede decir más cosas sobre la clase. Más específicamente, dentro
de la declaración de la clase se puede:
- Declarar cual es la superclase de la clase
- Listar los interfaces implementados por la clase
- Declarar si la clase es pública, abstracta o final
Declarar
la Super Clase
En Java, todas las clases
tienen una superclase. Si no se especifica una superclase para una clase, se
asume que es la Object (declarada un
java.lang).
Para especificar
explícitamente la superclase de una clase, se debe poner la palabra clave extends más el nombre de la
superclase entre el nombre de la clase
que se ha creado y el corchete abierto que abre el cuerpo de la clase, así:
class NombredeClase extends NombredeSuperClase{
…
}
Una subclase hereda las
variables y los métodos de su superclase.
Listar
los Interfaces Implementados por la Clase
¿Qué es una interface? Un
interface declara un conjunto de métodos y constantes sin especificar su
implementación para ningún método. Cuando una clase exige la implementación de un
interface, debe proporcionar la implementación para todos los métodos
declarados en el interface.
Para declarar que una clase implementa uno o más interfaces, se debe
utilizar la palabra clave implements
seguida por una lista de los interfaces implementados por la clase delimitada
por comas.
class NumeroImaginario extends Number implements
Aritmetico{
…
}
Se debe garantizar que
proporciona la implementación para los métodos declarados en el interface Aritmético.
Si en NumeroImaginario falta alguna implementación de los métodos definidos en
Aritmético, el compilador mostrará un mensaje de error y no compilará el programa.
Por convención, la implements sigue a la cláusula extends si esta existe.
Clases Public, abstract y Final
Se puede utilizar uno de estos
tres modificadores en una declaración de clase para declarar que esa clase es
pública, abstracta o final. Los modificadores van delante de la palabra clave class y son opcionales.
- El modificar public declara que la clase puede ser utilizada por objetos que estén fuera del paquete actual. Por defecto, una clase sólo puede ser utilizada por otras clases del mismo paquete en el que están declaradas.
Public class NumeroImaginario extends Number implements Aritmetico{
…
}
- El modificador abstract declara que la clase es una clase abstracta. Una clase abstracta podría contener métodos abstractos (métodos sin implementación). Una clase abstracta está diseñada para ser una superclase y no puede ejemplarizarse.
- Utilizando el modificador final se puede declarar que una clase es final, que no puede tener subclases. Existen (al menos) dos razones por la que se podría querer hace esto: razones de seguridad y razones de diseño.
Sumario de la Declaración de una Clase
En suma, una declaración
de clase se parecería a esto:
[modificadores] class NombredeClase [extends
NombredeSuperclase] [ implements NombredeInterface ]{
…
}
Los puntos
entre [ y ] son opcionales. Una declaración de clase define los siguientes
aspectos de una clase:
Modificadores declaran si la clase es
abstracta, pública o final.
NombredeClase selecciona el nombre de
la clase que está declarando.
NombredeSuperClase es el nombre de la
superclase de NombredeClase.
NombredeInterface es una lista
delimitada por comas de los interfaces implementados por NombredeClase.
De todos estos ítems, sólo la palabra clave class y el nombre de la clase son necesario. Los otros son opcionales. Si no se realiza ninguna declaración explícita para los ítems opcionales, el compilador Java asume ciertos valores por defecto (una subclase de Object no final, no pública, no abstracta y que no implementa interfaces).
Primer Vídeo
Segundo Vídeo
No hay comentarios:
Publicar un comentario