jueves, 18 de octubre de 2012

Declarar Clases


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:
  1. Declarar cual es la superclase de la clase
  2. Listar los interfaces implementados por la clase
  3. 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