You are on page 1of 7

PROGRAMACIN ORIENTADA A OBJETOS 3 ESCUELA DE CIENCIAS BASICAS E INGENIERIA DE SISTEMAS CLASES Y HERENCIA EN LA PROGRAMACION ORIENTADA A OBJETOS Clases En La Poo

Gestin De Excepciones Y Errores El control de flujo en un programa Java puede hacerse mediante las ya conocidas v sentencias estructuradas (if, while, return). Pero Java va mucho ms all, mediante una tcnica de programacin denominada gestin de excepciones. Mediante las excepciones se podr evitar repetir continuamente cdigo, en busca de un posible error, y avisar a otros objetos de una condicin anormal de ejecucin durante un programa. Mediante la gestin de excepciones se prescindir de sentencias de control de errores del tipo: if (error == true) return ERROR; La instanciacin de las clases: Los objetos Sinopsis Existen varios conceptos y fases en la existencia de un programa que no conviene confundir: la declaracin de una clase; su definicin; su instanciacin o concrecin en un objeto-clase determinado, y la inicializacin del objeto (aunque los dos ltimos procesos pueden ejecutarse en la misma sentencia). Declaracin de clase. El primero, declaracin de clase, es simplemente asignarle un nombre; una sentencia que establece la conexin entre el identificador y el objeto que representa (en este caso una clase). La declaracin asocia el nombre con un tipo de dato, lo que supone definir como se usa, que operaciones son permitidas y que sentido tienen estas operaciones [6]. La declaracin sera algo as: Class Hotel; Una declaracin de este tipo, sin definicin, se denomina adelantada (4.11.4a). Definicin de clase La definicin de clase es el proceso de definir cuales sern sus propiedades y mtodos; proceso que crea un nuevo tipo [2]. Lo mismo que con las variables normales, con frecuencia la declaracin y definicin de

una clase ocurren simultneamente en la misma sentencia (a menos que se trate de una declaracin adelantada). La definicin de la clase puede ser un proceso muy simple (caso de la herencia simple o mltiple). Ejemplo: Class Hotel: public Pensin, Resistencia (); Acceso al objeto El operador punto (.) se utiliza para acceder a las variables de instancia y los mtodos contenidos en un objeto, mediante su referencia a objeto La destruccin del objeto Cuando un objeto no va a ser utilizado, el espacio de memoria de dinmica que utiliza ha de ser liberado, as como los recursos que posea, permitiendo al programa disponer de todos los recursos posibles. A esta accin se la da el nombre de destruccin del objeto. En Java la destruccin se puede realizar de forma automtica o de forma personalizada, en funcin de las caractersticas del objeto. La Herencia La verdadera potencia de la programacin orientada a objetos radica en su capacidad para reflejar la abstraccin que el cerebro humano realiza automticamente durante el proceso de aprendizaje y el proceso de anlisis de informacin. Las personas percibimos la realidad como un conjunto de objetos interrelacionados. Dichas interrelaciones, pueden verse como un conjunto de abstracciones y generalizaciones que se han ido asimilando desde la niez. As, los defensores de la programacin orientada a objetos afirman que esta tcnica se adecua mejor al funcionamiento del cerebro humano, al permitir descomponer un problema de cierta magnitud en un conjunto de problemas menores subordinados del primero. La capacidad de descomponer un problema o concepto en un conjunto de objetos relacionados entre s, y cuyo comportamiento es fcilmente identificable, puede ser muy til para el desarrollo de programas informticos.

Limitaciones en la herencia Todos los campos y mtodos de una clase son siempre accesibles para el cdigo de la misma clase. Para controlar el acceso desde otras clases, y para controlar la herencia por la subclase, los miembros (atributos y mtodos) de las clases tienen tres modificadores posibles de control de acceso:
public: Los miembros declarados public son accesibles en cualquier lugar

en que sea accesible la clase, y son heredados por las subclases. private: Los miembros declarados private son accesibles slo en la propia clase.

protected: Los miembros declarados protected son accesibles slo para

sus subclases Por ejemplo: class Padre { // Hereda de Object

// Atributos private int numeroFavorito, nacidoHace, // Mtodos public int getApuesta() { return numeroFavorito; } protected int getEdad() { return nacidoHace; } private int getSaldo() { return dineroDisponible; } } class Hija extends Padre { // Definicin } class Visita { // Definicin } Extensin De Clases. Cuando se construye una clase se hace atendiendo a unas necesidades concretas. As, un objeto de la clase A se comportar de una determinada manera. Pero resulta bastante comn que la clase A dada no se acomode a las necesidades concretas sino que en algunos casos se necesitara una clase A1 que, manteniendo las propiedades de la clase A, se comporte como un caso particular de sta. Esto s, que la clase A1 sea una dineroDisponible;

extensin de la clase A. Esta es una de las ventajas de la programacin orientada a objeto que hace posible la reutilizacin de cdigo. As, si lguien program perfectamente la clase A, nosotros no tendremos que realizar todo el trabajo otra vez para conseguir la clase A1, slo tendremos que aadir la funcionalidad que no est en A.

Mtodos. Sobrecarga De Mtodo La firma de un mtodo es la combinacin del tipo de dato que regresa, su nombre y su lista de argumentos. La sobrecarga de mtodos es la creacin de varios mtodos con el mismo nombre pero con diferentes firmas y definiciones. Java utiliza el nmero y tipo de argumentos para seleccionar cul definicin de mtodo ejecutar. Java diferencia los mtodos sobrecargados con base en el nmero y tipo de argumentos que tiene el mtodo y no por el tipo que devuelve. /* ProgUsuario4.java */ Class ProgUsuario4 { void imprimeUsuario(Usuario4 usr) { // usr.nombre equivale en este caso a usr.getNombre() System.out.println("\nNombre: " + usr.nombre ); System.out.println("Edad: " + usr.getEdad() ); System.out.println("Direccion: " + usr.getDireccion() +"\n"); } public static void main(String args[]) { ProgUsuario4 prog = new ProgUsuario4( ); /* Se declaran dos objetos de la clase Usuario4 */ Usuario4 usr1,usr2; /* Se utiliza el constructor por omisin */ usr1 = new Usuario4( ); prog.imprimeUsuario(usr1); /* Se utiliza el segundo constructor de Usuario4 */ usr2 = new Usuario4("Eduardo",24,"Mi direccion"); prog.imprimeUsuario(usr2); /* Se utiliza el tercer constructor de Usuario4 */ usr1 = new Usuario4(usr2); usr1.setEdad(50); usr2.setEdad(30.45f);

prog.imprimeUsuario(usr1); prog.imprimeUsuario(usr2); } }

Extensin de Clases Applest Y Web Un applet, no es como una aplicacin que tiene un mtodo main. El applet est insertado en una pgina web que se muestra en la ventana del navegador. El navegador toma el control del applet llamando a algunos de sus mtodos, uno de estos es el mtodo paint que se llama cada vez que se necesita mostrar el applet en la ventana del navegador. Cuando el applet se carga, el navegador llama a su mtodo int. En este mtodo el programador realiza tareas de inicializacin, por ejemplo, establecer las propiedades de los controles, disponerlos en el applet, cargar imgenes, etc. El mtodo int se llama una sla vez. Despus, el navegador llama al mtodo paint. A continuacin, se llama al mtodo start. Este mtodo se llama cada vez que se accede a la pgina que contiene el applet. Esto quiere decir, que cuando dejamos la pgina web que contiene el applet y regresamos de nuevo pulsando en el botn "hacia atrs" el mtodo start vuelve a llamarse de nuevo, pero no se llama el mtodo int. Cuando dejamos la pgina web que contiene el applet, por ejemplo, pulsando en un enlace, se llama al mtodo stop. Finalmente, cuando salimos del navegador se llama al mtodo destroy.

Que Es Un Applet

Un applet Java es un applet escrito en el lenguaje de programacin Java. Los applets de Java pueden correr en un navegador web utilizando la Java Virtual Machine (JVM), o en el AppletViewer de Sun. Entre sus caractersticas podemos mencionar un esquema de seguridad que permite que los applets que se ejecutan en el equipo no tengan acceso a partes sensibles (por ej. no pueden escribir archivos), a menos que uno mismo le d los permisos necesarios en el sistema; la desventaja de este enfoque es que la entrega de permisos es engorrosa para el usuario comn, lo cual juega en contra de uno de los objetivos de los Java applets: proporcionar una forma fcil de ejecutar aplicaciones desde el navegador web. En Java un applet (Subprograma), es un programa que puede incrustarse en un documento HTML; es decir en una pgina Web. Cuando un Navegador carga una pgina Web que contiene un Applet, ste se descarga en el navegador Web y comienza a ejecutarse. Esto nos permite crear programas que cualquier usuario puede ejecutar con tan solo cargar la pgina Web en su navegador.

El Navegador que carga y ejecuta el applet se conoce en trminos genricos como el contenedor de Applets. El kit de desarrollo de Software para java 2 (J2SDK) 1.4.1 incluye el contenedor de Applets, llamado appletviewer, para probar los applets antes de incrustarlos en una pgina Wed. La Clase Applet. La clase Applet Java, de la cual han de heredar todos los programas Java que vayan a actuar como applets, es la nica clase que contiene el paquete java.applet de la API de Java. Esta clase hereda de Object (como todas las clases Java), pero adems hereda de Component y Container, que son dos clases del paquete grfico AWT. Esto ya perfila las posibilidades grficas de este tipo de aplicaciones Java. La Clase Url. Un URL (Uniform Resource Locator) es una direccin de Internet. Cada recurso (fichero, pgina Web, imagen...) tiene uno propio. En Java existe una clase denominada URL que modeliza esta clase de objetos. La clase URL pertenece al paquete java.net, y tiene una cierta importancia en el desarrollo de las applets, puesto que muchos de los mtodos de la clase Applet la utilizan para acceder a determinado recurso de Internet o para identificarse. Podemos especificar un URL de manera absoluta: URL URLabsoluto = new URL("http://www.host.com/dir/fich.htm"); O bien podemos especificar un URL de manera relativa: URL URLhost = new URL("http://www.Javasoft.com/"); URL URLrelativo = new URL( URLhost, "dir/fich.htm"); Ejemplo De Construccin De Una Applet import java.awt.*; import java.applet.*; public class AppletDiagonal extends Applet { public void paint(Graphics g) { g.setColor( Color.red ); g.drawLine(0, 0, getWidth(), getHeight() ); } } Trabajar un programa en JAVA (JCreatorV3 LE) Un Graficador en 3D que por lo menos pueda tener las opciones de Translacin, Rotacin, de algunos slidos.