3
A  diferencia de  lo s  constructores, no tiene nombre ni se pasa argumentos. Java permite multiples  bloques  estaticos  como el anterior, los cuales se llaman todos al  cargar la  clase.  Una de las a plicaciones es cargar  metodos  natives de la  m a - quina  virtual,  tipicamente  en C. 5 5  etaclases Existe  en Java el concepto de  metaclases o sea clases de clases. Si un  objeto es la  instancia  de una  clase, entonces  la  propia  clase  es la  instancia  de una metaclase Este  concepto  se  muestra  en el  diagrama  de la figura  5.23.  igur 5 23  Concepto  de  metaclase El  concepto  de  metaclase  es de  gran utilidad,  en  parti cular porque permite  tra- ta r  a una  clase como  si  fuera  u n  objeto.  F or  ejemplo,  la figura  5.24  muestra  la s relaciones anteriores utilizando  la  metaclase  Class,  y  relaciones  co n  cualquier clase  y  objeto.  igur 5 24  Concepto  de  metaclase  en  Java For  ejemplo, veamos el siguiente  codigo: Class  mfclase  =  Class.forName no/nbre_c7ase); Object  miobjeto  = mfcTase.newInstanceO; En  la primera  linea  se traduce el  nombre_clase  (definido  como String) a una clase  m i  clase Observe que esta variable se  refiere  a una clase manipulada como objeto. En la segunda linea se instancia  miobjeto  a partir de  miclase Note que este  proceso  se  puede  aplicar  a  cualquier  clase  en  Java, dado  que la  instancia- cion  se realiza de manera totalmente anonima,  todo  gracias a la manipulacion de la clase como si  fuese  un objeto. De hecho, este tambien es un ejemplo de polimorfismo  (a traves del  metodo  newlnstance . 5 5  Aplicaciones  y  applets Existen  dos  maneras  de  estructurar  un  programa  en  Java:  por  aplicaciones  o por applets Ambos siguen el mismo  proceso  de desarrollo, incluyendo la gran m a- yoria de las  facilidades  que  Java ofrece.  La  diferencia  es que las  aplicaciones  se ejecutan  como cualquier programa normal , mientras que los applets  estan  es- pecificamente  disenados  para correr  en el Web a  traves  de un  browser 180 CAP 5 — PROGRAMACION ORIENTADA A OBJETOS CON JAVA 80

09. 5.5._Aplicaciones_y_applets.PDF

Embed Size (px)

Citation preview

Page 1: 09. 5.5._Aplicaciones_y_applets.PDF

7/25/2019 09. 5.5._Aplicaciones_y_applets.PDF

http://slidepdf.com/reader/full/09-55aplicacionesyappletspdf 1/2

A diferencia de los constructores, no tiene nombre ni se pasa argumentos. Javapermite multiples bloques estaticos como el anterior, los cuales se llaman todosal cargar la clase. Una de las aplicaciones es cargar metodos natives de la ma-quina virtual, tipicamente en C.

5 5 etaclases

Existe en Java el concepto de metaclases o sea clases de clases. Si un objetoes la instancia de una clase, entonces la propia clase es la instancia de unametaclase Este concepto se muestra en el diagrama de la figura 5.23.

igur 5 23 Concepto de metaclase

El concepto de metaclase es de gran utilidad, en particular porque permite tra-ta r a una clase como si fuera un objeto. For ejemplo, la figura 5.24 muestra la srelaciones anteriores utilizando la metaclase Class , y relaciones co n cualquierclase y objeto.

igur 5 24 Concepto de metaclase en Java

For ejemplo, veamos el siguiente codigo:

Class mfc lase = Class.forName no/nbre_c7ase);Object miobjeto = mfcTase.newInstanceO;

En la primera linea se traduce el nombre_clase (definido como String) a unaclase mi clase Observe que esta variable se refiere a una clase manipulada como

objeto. En la segunda linea se instancia miobjeto a partir de miclase Note queeste proceso se puede aplicar a cualquier clase en Java, dado que la instancia-cion se realiza de manera totalmente anonima, todo gracias a la manipulacionde la clase como si fuese un objeto. De hecho, este tambien es un ejemplo depolimorfismo (a traves del metodo newlnstance .

5 5 Aplicaciones y applets

Existen dos maneras de estructurar un programa en Java: por aplicaciones o porapplets Ambos siguen el mismo proceso de desarrollo, incluyendo la gran ma-yoria de las facilidades que Java ofrece. La diferencia es que las aplicaciones seejecutan como cualquier programa normal , mientras que los applets estan es-pecificamente disenados para correr en el Web a traves de un browser

180 CAP 5 — PROGRAMACION ORIENTADA A OBJETOS CON JAVA80

Page 2: 09. 5.5._Aplicaciones_y_applets.PDF

7/25/2019 09. 5.5._Aplicaciones_y_applets.PDF

http://slidepdf.com/reader/full/09-55aplicacionesyappletspdf 2/2

5 5 1 p Head onesLas aplicaciones requieren de un metodo especial para iniciar el programa: elmetodo m a i n . L a aplicacion mas sencilla es la famo sa Hola Mundo , la cual seprograma de la siguiente manera como aplicacion en Java:

class ej {

public static void main(String args[]) {System.out.println( Hola Mundo ) ;}

}

Al ejecutar el programa escribiria Hola Mundo .

En una aplicacion que contiene multiples clases, el metodo m a i n puede agre-garse a cualquiera de las clases. Dado que el metodo m a i n esta definido comoestdti o este no tiene acceso a las estructuras internas de la clase. A continua-cion se muestra un ejemplo del uso del m a i n

public class Persona {public static void main (String args[]) {

for (int = 0 ; i args.length; i++)System.out.print(args[i] + );

System.out.print( M \n );System.exit(O);

}}

Observe el argumento args de m a i n que recuerda cierta similitud con a rgc yargv en el lenguaje C, solo que integrandolos en uno solo.

5.5.2 AppletsTomamos ahora el programa anterior de Hola Mundo , que se programaria dela siguiente manera como un applet en Java:.

public class ej extends Applet {public void paint(Graphics g){

g.drawStringC'Hola Mundo " , 2 5 , 2 5 ) ;}

}

En lugar del metodo m a i n un applet requiere una clase que herede de A p p l e ty sobreescriba el metodo p a i n t , para desplegar textos o graficas en la p antal la .Todo applet requiere de una pagina html para su ejecucion, por ejemplo e j . h t m l ,como se muestra a continuacion:

<applet code=ej .class width=200 height=200x/applet>

El archivo html puede ejecutarse en un browser o mediante la aplicacion a p p l e -t v i e w e r de la siguiente forma:

appletviewer ej.html

A diferencia del metodo main , el paso de argumentos iniciales es a traves delos parametros del archivo html.

A P L I C A C I O N E S Y APPLETS 8