Estructura y Miembros de Una Clase

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

ESTRUCTURA Y MIEMBROS DE

UNA CLASE.
ESTRUCTURA Y MIEMBROS DE UNA CLASE.
 Para declarar una clase en Java se usa la palabra
reservada class. En la declaración de una clase
vas a encontrar:
 Cabecera de la clase. Compuesta por una serie de
modificadores de acceso, la palabra reservada class y
el nombre de la clase.
 Cuerpo de la clase. En él se especifican los
distintos miembros de la
clase: atributos y métodos. Es decir, el contenido de
la clase.
ESTRUCTURA Y MIEMBROS DE UNA CLASE.
ESTRUCTURA Y MIEMBROS DE UNA CLASE.
 Como puedes observar, el cuerpo de la clase es
donde se declaran los atributos que caracterizan
a los objetos de la clase y donde se define e
implementa el comportamiento de dichos objetos;
es decir, donde se declaran e implementan
los métodos.
DECLARACIÓN DE UNA CLASE.
 La declaración de una clase en Java tiene la
siguiente estructura general:
[modificadores] class <NombreClase> [herencia]
[interfaces] { // Cabecera de la clase // Cuerpo
de la clase Declaración de los atributos
Declaración de los métodos }
DECLARACIÓN DE UNA CLASE
/**
*
* Ejemplo de clase Punto
*/

class Punto {
// Atributos
int x,y;

// Métodos
int obtenerX () { return x; }
int obtenerY() {return y;}
void establecerX (int vx) { x= vx; };
void establecerY (int vy) { y= vy; };
}
 En este caso se trata de una clase muy sencilla en
la que el cuerpo de la clase (el área entre las
llaves) contiene el código y las declaraciones
necesarias para que los objetos que se construyan
(basándose en esta clase) puedan funcionar
apropiadamente en un programa (declaraciones
de atributos para contener el estado del objeto y
métodos que implementen el comportamiento de
la clase y los objetos creados a partir de ella).
 A la hora de implementar una clase Java debes tener en
cuenta:
 Por convenio, se ha decidido que en lenguaje Java los nombres de las
clases deben de empezar por una letra mayúscula. Así, cada vez
que observes en el código una palabra con la primera letra en
mayúscula sabrás que se trata de una clase sin necesidad de tener que
buscar su declaración. Además, si el nombre de la clase está
formado por varias palabras, cada una de ellas también tendrá
su primera letra en mayúscula. Siguiendo esta recomendación,
algunos ejemplos de nombres de clases podrían ser: Recta, Circulo,
Coche, CocheDeportivo, Jugador, JugadorFutbol, AnimalMarino,
AnimalAcuatico, etc.
 El archivo en el que se encuentra una clase Java debe tener el mismo
nombre que esa clase si queremos poder utilizarla desde otras clases
que se encuentren fuera de ese archivo (clase principal del
archivo).
 Tanto la definición como la implementación de una clase se incluye en
el mismo archivo (archivo ".java"). En otros lenguajes como por
ejemplo C++, definición e implementación podrían ir en archivos
separados (por ejemplo en C++, serían sendos archivos con
extensiones ".h" y ".cpp").
CABECERA DE UNA CLASE.
 En general, la declaración de una clase puede
incluir los siguientes elementos y en el siguiente
orden:
 Modificadores tales como public, abstract o final.
 El nombre de la clase (con la primera letra de cada
palabra en mayúsculas, por convenio).
 El nombre de su clase padre (superclase), si es que
se especifica, precedido por la palabra
reservada extends ("extiende" o "hereda de").
 Una lista separada por comas de interfaces que son
implementadas por la clase, precedida por la palabra
reservada implements ("implementa").
 El cuerpo de la clase, encerrado entre llaves {}.
DECLARACIÓN DE UNA CLASE
 La sintaxis completa de una cabecera (los cuatro
primeros puntos) queda de la forma:
 [modificadores] class <NombreClase> [extends
<NombreSuperClase>][implements
<NombreInterface1>] [[implements
<NombreInterface2>] ...] {
 En el ejemplo anterior de la clase Punto teníamos la
siguiente cabecera:
class Punto {
 En este caso no hay modificadores, ni indicadores
de herencia, ni implementación de interfaces. Tan
solo la palabra reservada class y el nombre de la
clase. Es lo mínimo que puede haber en la cabecera de
una clase.
 La herencia y las interfaces las verás más
adelante. Vamos a ver ahora cuáles son
los modificadores que se pueden indicar al crear la
clase y qué efectos tienen. Los modificadores de
clase son: [public] [final | abstract]
 Modificador public. Indica que la clase es visible (se pueden crear
objetos de esa clase) desde cualquier otra clase. Es decir, desde
cualquier otra parte del programa. Si no se especifica este
modificador, la clase sólo podrá ser utilizada desde clases que estén
en el mismo paquete. El concepto de paquete lo veremos más
adelante. Sólo puede haber una clase public (clase principal) en un
archivo .java. El resto de clases que se definan en ese archivo no
serán públicas.
 Modificador abstract. Indica que la clase es abstracta. Una clase
abstracta no es instanciable. Es decir, no es posible crear objetos de
esa clase (habrá que utilizar clases que hereden de ella). En este
momento es posible que te parezca que no tenga sentido que esto
pueda suceder (si no puedes crear objetos de esa clase, ¿para qué la
quieres?), pero puede resultar útil a la hora de crear una jerarquía de
clases. Esto lo verás también más adelante al estudiar el concepto
de herencia.
 Modificador final. Indica que no podrás crear clases que hereden de
ella. También volverás a este modificador cuando estudies el concepto
de herencia. Los modificadores final y abstract son excluyentes (sólo
se puede utilizar uno de ellos).
CUERPO DE UNA CLASE.
 El cuerpo de una clase se encuentra encerrado
entre llaves y contiene la declaración e
implementación de sus miembros. Los miembros
de una clase pueden ser:
 Atributos, que especifican los datos que podrá
contener un objeto de la clase.
 Métodos, que implementan las acciones que se
podrán realizar con un objeto de la clase.
 Una clase puede no contener en su declaración
atributos o métodos, pero debe de contener al
menos uno de los dos (la clase no puede ser
vacía).
DECLARACIÓN DE UNA CLASE
 En el ejemplo anterior donde se definía una
clase Punto, tendríamos los siguientes atributos:
 Atributo x, de tipo int.
 Atributo y, de tipo int.

 Es decir, dos valores de tipo entero. Cualquier


objeto de la clase Punto que sea creado
almacenará en su interior dos números enteros
(x e y). Cada objeto diferente de la
clase Punto contendrá sendos valores x e y, que
podrán coincidir o no con el contenido de otros
objetos de esa misma clase Punto.
DECLARACIÓN DE UNA CLASE
 Por ejemplo, si se han declarado varios objetos de
tipo Punto:
 Punto p1, p2, p3;
 Sabremos que cada uno de esos
objetos p1, p2y p3 contendrán un par de
coordenadas (x, y) que definen el estado de ese
objeto. Puede que esos valores coincidan con los
de otros objetos de tipo Punto, o puede que no,
pero en cualquier caso serán objetos diferentes
creados a partir del mismo molde (de la misma
clase).
 Por otro lado, la clase Punto también definía una
serie de métodos:
DECLARACIÓN DE UNA CLASE
 * int obtenerX () { return x; }
 * int obtenerY() { return y;}

 * void establecerX (int vx) { x= vx; };

 * void establecerY (int vy) { y= vy; };


DECLARACIÓN DE UNA CLASE
 Cada uno de esos métodos puede ser llamado
desde cualquier objeto que sea una instancia de
la clase Punto. Se trata de operaciones que
permiten manipular los datos (atributos)
contenidos en el objeto bien para calcular otros
datos o bien para modificar los propios atributos.
MIEMBROS ESTÁTICOS O DE CLASE.
 Cada vez que se produce una instancia de una
clase (es decir, se crea un objeto de esa clase), se
desencadenan una serie de procesos (construcción
del objeto) que dan lugar a la creación en
memoria de un espacio físico que constituirá el
objeto creado. De esta manera cada objeto tendrá
sus propios miembros a imagen y semejanza de la
plantilla propuesta por la clase.
MIEMBROS ESTÁTICOS O DE CLASE.
 Por otro lado, podrás encontrarte con ocasiones en las que
determinados miembros de la clase (atributos o métodos) no
tienen demasiado sentido como partes del objeto, sino más
bien como partes de la clase en sí (partes de la plantilla,
pero no de cada instancia de esa plantilla). Por ejemplo, si
creamos una clase Coche y quisiéramos disponer de un
atributo con el nombre de la clase (un atributo de
tipo String con la cadena "Coche"), no tiene mucho sentido
replicar ese atributo para todos los objetos de la clase
Coche, pues para todos va a tener siempre el mismo valor
(la cadena "Coche"). Es más, ese atributo puede tener
sentido y existencia al margen de la existencia de cualquier
objeto de tipo Coche. Podría no haberse creado ningún
objeto de la clase Coche y sin embargo seguiría teniendo
sentido poder acceder a ese atributo de nombre de la clase,
pues se trata en efecto de un atributo de la propia clase
más que de un atributo de cada objeto instancia de la clase.
MIEMBROS ESTÁTICOS O DE CLASE.
 Para poder definir miembros estáticos en Java se
utiliza el modificador static. Los miembros (tanto
atributos como métodos) declarados utilizando
este modificador son conocidos como miembros
estáticos o miembros de clase. A continuación vas
a estudiar la creación y utilización de atributos y
métodos. En cada caso verás cómo declarar y
usar atributos estáticos y métodos estáticos.

También podría gustarte