DEFINICION DE UNA CLASE
Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. Los atributos definen el estado de un determinado objeto y los métodos son las operaciones que definen su comportamiento. Forman parte de estos métodos los constructores, que permiten iniciar un objeto y los destructores, que permiten destruirlo. Los atributos y los métodos se denominan en general miembros de la clase.
La definición de una clase consta de dos partes: el nombre de la clase precedido por la palabra reservada class, y el cuerpo de la clase entre llaves. Esto es:
Class nombre _ clase
{
Cuerpo de la clase
}
METODOS DE UNA CLASE
Los métodos generalmente forman lo que se denomina interfaz un medio de acceso a la estructura interna de los objetos; ellos definen las operaciones que pueden realizar con sus atributos. Desde el punto de la vista de POO, en conjunto de estos métodos se corresponde con el conjunto de mensajes a los que los objetos de una clase pueden responder.
CONTROL DE ACCESO A LOS MIEMBROS DE LA CLASE
El concepto de clase incluye la idea de ocultación de datos, que básicamente consiste en que no se puede acceder a los atributos directamente, si no que hay que hacerlo a través de métodos de la clase. Esto quiere decir que, de forma general, el usuario de la clase solo tendrá acceso a uno o más métodos que le permitirán acceder a los miembros privados, ignorando la disposición de estos (dichos métodos se denominan métodos de acceso). De esta forma se consiguen 2 objetivos importantes:
ACCESO PREDETERMINADO
Un miembro de una clase declarado sin modificadores que indiquen el control de acceso, pueden ser accedidos por cualquier clase perteneciente al mismo paquete. Ninguna otra clase, o subclase fuera de este paquete puede tener acceso a estos miembros.
Como se puede observar este tipo de control de acceso no tiene mucho dominio sobre si mismo. Si lo que se pretende es tener un control preciso sobre como va ha ser utilizada por otras, deberemos utilizar los modificadores private, protected o public en vez de aceptar el control predeterminado.
ACCESO PÚBLICO
Un mimbro declarado public (publico) esta accesible para cualquier otra clase o subclase que necesite utilizarlo. La interfaz publica de una clase, o simplemente interfaz, esta formada por todos los miembros públicos de la misma. Asimismo, los atributos static de la clase son declarados públicos.
ACCESO PRIVADO
Un miembro declarado private (privado) es accesible solamente por los métodos de su propia clase. Esto significa que no puede ser accedido por los métodos de cualquier otra clase incluidas las subclase.
ACCESO PROTEGIDO
Un mimbreo declaro protected (protegido) se comporta exactamente de igual que uno privado para los métodos de cualquier otra clase, excepto para los métodos de la clase del mismo paquete o de sus subclases con independencia del paquete al que pertenezcan, para las que se comportar como un miembro publico.
CONTROL DE ACCESO A UNA CLASE.
El control de acceso a una clase determina la relación que tiene esa clase con otras clases de otros paquetes. Distinguimos dos niveles de acceso: de paquete y público. Una clase con nivel de acceso de paquete solo puede ser utilizada por loas clases de su paquete (no esta disponible para otros paquetes, ni siquiera para los subpaquetes). En cambio, una clase pública puede ser utilizada por cualquier otra clase de otro paquete.
Por omisión a una clase tiene el nivel de acceso a una clase.