a) Nombre de la clase, precedido por la palabra class b) Cuerpo de la clase, encerrado entre llaves class nombre_clase { cuerpo de la clase } El cuerpo de la clase en general consta de modificadores de acceso (public, protected y private), atributos, mensajes y mtodos. Una Clase es un tipo definido por el usuario que describe los atributos y los mtodos de los objetos que se crearn a partir de la misma. Es la BASE de la POO. a) Para declarar un atributo se procede exactamente igual que para declarar cualquier otra variable dentro de un mtodo. b) En una Clase, cada atributo debe tener un nombre nico. c) Es posible asignar un valor inicial a un atributo de una Clase, aunque generalmente esto no se hace. Esto se hace en el Constructor de la Clase. ATRIBUTOS a) Forman lo que se llama interfaz o medio de acceso a la estructura interna de los objetos; ellos definen las operaciones que se pueden hacer con sus atributos. b) Para definir un mtodo de una clase, se debe proceder exactamente igual que como se ha hecho para definir cualquier otro mtodo en las aplicaciones ya realizadas. c) Es una definicin incluida siempre dentro del cuerpo de una clase. MTODOS Ocultacin de Datos: no se puede acceder a los atributos directamente, sino que hay que hacerlo a travs de los mtodos. DevC provee las palabras clave: private (privado) protected (protegido) public (pblico), aunque tambin es posible omitirlas (acceso predeterminado). CONTROL DE ACCESO Un miembro de una clase declarado sin modificadores que indiquen el control de acceso, puede ser accedido por cualquier clase perteneciente al mismo paquete. Ninguna otra clase o subclase, fuera de este paquete puede tener acceso a estos miembros.
Recordar que clases implementadas pertenecen por omisin, al paquete predeterminado. Acceso Predeterminado Un miembro declarado public (pblico) est accesible para cualquier otra clase o subclase que necesite utilizarlo.
Los atributos static de la clase generalmente son declarados pblicos. Acceso Pblico Un miembro declarado private (privado) es accesible solamente por los mtodos de su propia clase. Esto significa que no puede ser accedido por los mtodos de cualquier otra clase, includas las subclases. Acceso Privado Un miembro declarado protected (protegido) se comporta exactamente igual que uno privado para los mtodos de cualquier otra clase, excepto para los mtodos de las clases del mismo paquete o de sus subclases con independencia del paquete al que pertenezcan, para las que se comporta como un miembro pblico. Acceso Protegido Niveles de Acceso por Modificador Alcance de las Variables Consiste en las partes del programa en las que cada variable puede utilizarse.
DevC define tres alcances principales: a nivel de clase a nivel de mtodo a nivel de bloque de cdigo
Si se define un miembro de dato en una clase, estar disponible en la clase, y posiblemente ms all, como se ha visto con los especificadores de acceso private, public y protected. Implementacin de una Clase La programacin orientada a objetos sugiere separar la implementacin de cada clase en un fichero .class, fundamentalmente para posteriormente reutilizar y mantener dicha clase.
Ejemplo: La clase Leer, servir de interfaz a cualquier programa para obtener del teclado datos de cualquier tipo primitivo. Cuando en el cdigo fuente de un programa se hace referencia a una clase que no pertenece a un paquete que se pueda importar, el LOO busca por ella en el directorio actual si la variable CLASSPATH no ha sido establecida. En otro caso, busca en las rutas especificadas por esta variable. CLASSPATH Inclusin de Clases en Programas PROCEDIMIENTO: Hacer las Clases Paquete se debe llamar diferente a las clases Compilar el proyecto Hacer el proyecto+programa Incorporar las librerias Agregar con clic derecho sobre Biblioteca: codigo compilado e import El control de acceso de una clase determina la relacin que tiene esa clase con otras clases de otros paquetes. Hay dos niveles de acceso: de paquete y pblico Una clase con nivel de acceso de paquete slo puede ser utilizada por las clases de su paquete (no est disponible para otros paquetes, ni siquiera para los subpaquetes). Una clase pblica puede ser utilizada por cualquier otra clase de otro paquete. Por omisin, una clase tiene el nivel de acceso de paquete. Por ejemplo, la clase Leer utilizada desde la clase Test es pblica, pero aunque no hubiese sido pblica tambin se podra utilizar desde la clase Test, ya que ambas pertenecen al mismo paquete, al predeterminado. CONTROL DE ACCESO REFERENCIA this Un objeto mantiene su propia copia de los atributos; pero no de los mtodos de su clase, de los cuales slo existe una copia para todos los objetos de esa clase. Cada objeto almacena sus propios datos, pero para acceder y operar con ellos, todos comparten los mismos mtodos definidos en su clase. Para que un mtodo conozca la identidad del objeto particular para el que ha sido invocado, el LOO proporciona una referencia al objeto denominada this.
Ejercicio Escriba una aplicacin que calcule el total de entradas vendidas para un concierto. Hay tres tipos de asiento: A, B y C. El programa acepta el nmero de entradas vendidas. El total de ventas se calcula de la siguiente forma: ventasTotales=nA*pA + nB*pB + nC*pC; Se debe definir y usar una clase TipoAsiento. Una instancia de la clase TipoAsiento conoce el precio para un tipo de asiento dado (A, B o C).