Tema III Encapsulamiento Encapsulamiento es la técnica de programación orientada a objetos que permite: + Ocultar la implantación de un módulo de software + Dividir responsabilidades entre un módulo cliente/proveedor + Establecer una interfaz de programación en la cual se define un tipo de dato, operaciones y condiciones lógicas de uso. Encapsulamiento con Java. +) Ocultar. Se puede calificar con Java que una propiedad o método de un objeto sea de tipo privado. En Java todas las propiedades de una clase se declaran como private. private Tipo propiedad; El modificador private indica que UNICAMENTE se puede utilizar una propiedad en el AMBITO o AREA de código de la clase Si la propiedad es de solo lectura (se necesita leer el contenido o valor de la propiedad) se debe seguir el siguiente patrón de codificación class X { private Tipo propiedad; Tipo getPropiedad() { //código extra para aplicar algoritmos return propiedad; } } Si la propiedad es de escritura (se necesita modificar el contenido) se debe seguir el siguiente patrón de codificación: void setPropiedad(Tipo arg) { //algoritmo para modificar la propiedad propiedad = arg; } +) Excepciones. Una excpecion en Java es un objeto que reporta un error o una condición NO ESPERADA. Una excepción tiene una clase. La excepcion de tipo Exception (o java.lang.Exception) es la mas general y que permite dispar errores de cualquier tipo. Del lado del proveedor se debe declarar una excepción , en caso de que un método no tenga para todo su dominio de entrada o parámetros un resultado bien definido TipoRetorno metodo( parametros ... ) throws Exception { //algoritmo del método // y en caso de una condición excepcional, se //debe generar un objeto de tipo Exception y disparlo throw new Exception(" mensaje"); } Del lado del cliente se debe controlar el caso de que se dispare una condición de error o excepción, siempre que se invoque a un método con una excepción potencial se debe seguir que... Clase objeto; try { //codigo antes del metodo con posibilidad de error objeto.metodo( parametros); //codigo despues del metodo con posibilidad de error } catch (Exception ex) { //codigo para controlar la excepcion ex.printStackTrace(); } + Paquetes Un paquete es un repositorio de clases relacionadas entre si por funcionalidad. Un ejemplo de paquete de Java es el denominado java.lang, donde se tienen clases predefinidas String - cadena de caracteres System - Sirve para manejo con recursos del sistema Math - Funciones para calculos matemáticos Exception - Permite generar un error Object - La clase mas general Thread - Hilo de ejecución Integer Double Float Boolean Character Byte Long Otros paquetes de java son java.util, java.io, java.net, java.awt, javax.swing Para generar un paquete en Java e incluir clases dentro de el: + Decidir el nombre del paquete Ejemplo: cib4122003.poo + Crear en un directorio de trabajo, los subdirectorios que contienen al paquete: Ejemplo: d:\gus md cib4122003 cd cib4122003 md poo + Codificar dentro de la carpeta o directorio del paquete. cd cib4122003\poo notepad Clase.java + Dentro del código de la clase poner lo siguiente: package nombrePaquete; Ejemplo: package cib4122003.poo; //poner codigo class Clase { .... } + La compilacion se debe hacer en el nivel del directorio donde esta la raiz del paquete. Ejemplo: cd d:\gus javac cib4122003\poo\Clase.java