domingo, 29 de noviembre de 2015

Definiciones de una Clase en Java

DEFINICIÓN DE UNA CLASE

modifAcceso modifClase class nombreClase [extends nombreBase] [implements listaInterfaces]
         {
                      Atributo 1
                      Atributo N
                      método 1
                      método N
         }
Donde nombreClase es el nombre de la clase, cualquier nombre, pero respetando las reglas de nomenclatura del lenguaje.
modifAcceso puede ser uno de los siguientes valores:


Ø       public: indica que la clase es pública, y por tanto que puede ser utilizada desde cualquier otra clase, con independencia de si están en el mismo paquete o no.

Ø       Sin especificar: indica que la clase tiene visibilidad de paquete, es decir, sólo la pueden usar las clases que se encuentren en el mismo paquete que dicha clase.

modifClase indica características específicas de la clase que estamos construyendo, los posibles valores son:


Ø       abstract: indica que a la clase le falta, al menos uno, el código de algún método. Posee el método (abstracto), pero no tiene el código de ese método, siendo responsabilidad de las clases derivadas proporcionar el código de dicha clase. Una clase abstracta no se puede instanciar.

Ø       final: se emplea para evitar que esta clase pueda ser derivada.

extends se utiliza para indicar que la clase hereda de nombreBase, en java sólo se permite heredar de una única clase base. En caso de no incluir la cláusula extends se asumirá que se está heredando directamente de la clase java.lang.Object


implements indica que esta clase es de los tipos de interfaz indicados por listaInterfaces, pudiendo existir tantos como queramos separados por comas. Esta cláusula es opcional.





Veamos el siguiente video:
https://www.youtube.com/watch?v=AEXLtATMkZM

Para ejemplificarlo mejor miremos la imagen:



Como pudieron darse cuenta la definición no es tan complicada y la forma en la cual se utilizan tampoco.
Espero les haya servido esta información, nos vemos hasta la próxima!
Erik.