Fund a Mentos Java

download Fund a Mentos Java

of 45

Transcript of Fund a Mentos Java

  • Fundamentos de JavaCurso de Programacingalia.fc.uaslp.mx/~medellin/IntProg.htm

  • OBJETIVOSIdentificar los componentes bsicos de los programas Java.Distinguir dos tipos de programa Java: aplicaciones y applets.Escribir aplicaciones Java sencillas y applets sencillos.Describir la diferencia entre la declaracin y la creacin de objetos.Describir el proceso de crear y ejecutar programas Java.Usar las clases ventanaPrincipal y CuadroMensaje del paquete javabook para escribir aplicaciones Java.Usar la clave Graphics del paquete estndar de Java.

  • La primera aplicacin JavaUn programa orientado a objetos usa objetos./* Programa MiPrimeraAplicacion Este programa muestra una ventana en la pantalla. La ventana se sita en el centro de la pantalla, y el tamao de la ventana sera casi el de esta. */ import javabook.*; class MiPrimeraAplicacion { public static void main (String[] args) { MainWindow ventanaPrincipal; ventanaPrincipal = new MainWindow( );// Crea y ventanaPrincipal.show() ;//muestra una ventana }

  • El diagrama de objetos del programa MiPrimeraAplicacionMiPrimeraAplicacionmainventanaPrincipalMainWindowshow

  • Uso de objetosPara usar un objeto en un programa, se debe declarar y crear el objeto primero y, despus enviarle mensajes.

  • Declaracin de objetosLa declaracin de un objeto se hace siguiendo la siguiente sintaxis: ;Nombre de claseDebe ser definido enalguna parte.Nombre de ObjetoAqu se declara unobjeto.MainWindow ventanaPrincipal;

  • Validez de identificadoresIdentificadores vlidos:MiPrimeraAplicacion Diversion AreaCalculoIdentificadores no vlidos:Mi Primera Aplicacion Progarma Diversin Area CalculoUn identificador es una secuencia de letras y dgitos cuyo primer carcter es siempre una letra.Se usa un identificador para dar nombre a una clase, un objeto, un mtodo u otros componentes.

  • Convencin de nombradoSe sigue la convencin de nombres de, mayscula para la primera letra de los nombres de clase y una letra minscula para la primera letra de los nombres de objetos.Es importante seguir la convencin estndar de nombrado de forma que otros puedan leer sus programas y distinguir fcilmente el propsito de los identificadores.Los programas que siguen la convencin de nombrado estndar son ms fciles de leer que aquellos que no la siguen.Siga la convencin de nombrado estndar cuando escriba sus programas de Java para hacerlos ms fcilmente legibles.

  • Creacin de objetosSintaxis de creacin de objetos:
  • Declaracin y creacin de un objetoCuenta cuenta;Estado de la memoriacuenta = new Cuenta( );despus de ejecutar AcuentaSe declara el identificador cuenta y se asigna espacio en memoria.Cuenta cuenta;cuenta = new Cuenta( );despus de ejecutar BSe crea un objeto Cuenta y se le asigna un identificador cuenta.cuentaABCuenta

  • Envo de MensajesDespus de que se ha creado el objeto, se puede comenzar a enviarle mensajes.La sintaxis para enviar un mensaje a un objeto es.();donde es un nombre de objeto, es un nombre de mtodo del objeto y es una secuencia de valores que se pasan al mtodo.ventanaPrincipal.setVisible(true);Nombre de Objeto Nombre del objeto al que se le enva el mensajeNombre de Mtodo Nombre del mensaje que se envaAgumento Argumernto que sePasa con el mensaje

  • Creacin repetida de un objetoEl primer objeto cliente se desasignar eventualmenteporque no hay ninguna referencia al mismo.CostumerCostumerclienteCustumer cliente; cliente = new Custumer(); cliente = new Custumer();Creado por elprimer newCreado por elsegundo new

  • Preguntas rpidas1. Cules de los siguientes identifcadores son invlidos? a. Unoe. Hola b. mi Ventanaf. JAVA c. 1234g. hola, ah d. acctl22h. DecafeLattePlease2. Qu est equivocado en el cdigo siguiente? VentanaPrincipal ventanaPrincipal( ) ; ventanaPrincipal.show( ) ;3. Hay algo equivocado en las siguientes declaraciones? ventanaPrincipal VentanaPrincipal; Cuenta, Cliente cuenta, cliente;4. Cul de las siguientes sentencias es vlida? a. ventanaPrincipal.setVisible( "true" ); b. ventanaPrincipal.setVisible( true );

  • Componentes de un programaUn programa Java se compone de comentarios, sentencias y declaraciones de clase.

    Aunque no son necesarios para ejecutar el programa, los comentarios son indispensables para escribir cdigo fcil de comprender.

  • Comentarios/* Esto es un comentario con tres lneas de texto. */// Esto es un comentario // Esto es otro comentario // Esto es un tercer comentario

  • Comentarios javadocEs un comentario especializado que puede aparecer antes de la declaracin de clase y de cualquier otro elemento de programa.Los comentarios javadoc comienzan con la marca /** y terminan con la marca */.Aqu hay un ejemplo de un comentario javadoc:

    /** * Esta clase proporciona funciones bsicas de reloj. * Ademas de para leer la hora actual y la fecha de hoy, * se puede usar esta clase para funciones de * cronometro. */

  • Ms informacin de javadocSe puede encontrar ms informacin sobre javadoc, y pginas web de documentacin de ejemplo generadas a partir de javadoc, enwww.drCaffeine.com/supportinfo/javadoc.html.,puede obtener una documentacin completa de las clases estndares de Java generadas a partir de comentarios javadoc enwww.java.sun.com/j2ee/j2sdkee/techdocs/api/.

  • Ejemplo de javadoc* Programa: EditorTexto * * Autor: C. Thomas Wu * [email protected] * * Curso: comp.. Sci. 101 * Spring 2000 * Programa asignado num. 7 * Compilador: JDK 1.2. * Plataforma: Windows 98 * * Descripcin: * Editor de texto sencillo. Permite al usuario salvar texto * a un archivo y leer de un archivo. Muestra el texto usando * nicamente fuentes Courier y no permite dar formato al texto * (por ejemplo, negrita, itlica, etc.). El editor proporciona * funciones de edicin estndares como Cut, Copy y Paste, pero * no tiene Undo. Para mas detalles consulte, por favor, el * archivo TxEditReadme. */

  • Utilidad de los comentariosLas marcas de comentarios son tiles para desactivar una porcin de un programa.Suponga que encuentra una porcin de un programa que puede estar causando un problema y hace que el programa falle, se puede intentar eliminar el cdigo que da lugar al problema.En lugar de reemplazar la parte problemtica completa con un cdigo nuevo, se puede dejar el cdigo cuestionable dentro del programa convirtindolo en un "comentario" mediante el uso de marcas de comentario.Si necesita el cdigo ms tarde, slo tiene que eliminar las marcas de comentarlos.

  • Sentencia ImportPara usar una clase de un paquete, se puede referir a la clase dentro de su programa usando el siguiente formato:.Por ejemplo, para usar la clase VentanaPrincipal del paquete javabook, se indica comojavabook.VentanaPrincipalque se debe leer como "javabook punto VentanaPrincipal". Esta notacin es la que se denomina notacin puntuada o punto.Un paquete puede incluir subpaquetes, definiendo una jerarqua de paquetes.Cuando hay que referirse a una clase dentro de un paquete profundamente anidado, se usan mltiples puntos. Por ejemplo, se escribejava.awt.image.ColorModelpara referirse a la clase ColorModel dentro del paquete java.awt.image.

  • Nombrescompletamente calificadosLa notacin puntuada con los nombres de todos los paquetes a los que pertenece la clase se denomina el nombre completamente calificado de la clase.Una sentencia import al principio de su programa elimina la necesidad de usar nombres completamente calificados.import java.awt.image.ColorModel;Se puede importar todas las clases usando la notacin asterisco:import .*;

  • Declaracin de clasesLa sintaxis para declarar una clase esclass { }donde es el nombre de la clase y es una secuencia de declaraciones de miembros de la clase.La palabra class es una palabra reservada que se usa para indicar el principio de una declaracin de clase.Un miembro de clase puede ser o bien un valor de datos o un mtodo.Se puede usar cualquier identificador vlido para dar nombre a la clase.

  • Declaracin de mtodosLa sintaxis para la declaracin de mtodo es (){

    } - secuencia de trminos para designar distintos tipos de mtodos - tipo de valor de datos devuelto por un mtodo - nombre de un mtodo - es una secuencia de valores que se pasan al mtodo - es una secuencia de instrucciones.

  • /* Programa MiPrimeraAplicacion Este programa muestra una ventana en la pantalla. La ventana se sita en el centro de la pantalla, y el tamao de la ventana sera casi el de esta. */ import javabook.*; class MiPrimeraAplicacion { public static void main (String[] args) { MainWindow ventanaPrincipal; ventanaPrincipal = new MainWindow( );// Crea y ventanaPrincipal.show() ;//muestra una ventana } }Declaracin de mtodo Esta declaracin crea elmtodo main.

  • ModificadorModificadorTipo de vueltaNombre del mtodoParmetrospublic static void main (String[] args) { MainWindow ventanaPrincipal; ventanaPrincipal = new MainWindow( );// Crea y ventanaPrincipal.show() ;//muestra una ventana }Cuerpo del mtodo Formado por una secuencia de instrucciones

  • Preguntas rpidas1. Denomine los tres componentes de un programa Java.2. Localice los tres componentes del programa en el programa Diversin del Captulo 1.3. Compare Diversin y MiPrimeraAplicacion y haga una lista de las similitudes diferencias.

  • Plantilla para aplicaciones Java sencillasComentarioSentencia importNombre de ClaseCuerpo de mtodopublic static void main(String[] args)class

  • Ciclo edicin-compilacin-ejecucinMiPrimeraAplicacion.javaMiPrimeraAplicacion.class/* Programa MiPrimeraAplicacion Este programa muestra una ventana en la pantalla. La ventana se sita en el centro de la pantalla, y el tamao de la ventana sera casi el de esta. */ import javabook.*; class MiPrimeraAplicacion { public static void main (String[] args) { MainWindow ventanaPrincipal; ventanaPrincipal = new MainWindow( );// Crea y ventanaPrincipal.show() ;//muestra una ventana } }9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794Compilador(archivo fuente)InterpretePrograma en ejecucin(archivo objeto)EditorPaso 1Paso 2Paso 3Edit, Notepad, etc.javacjava

  • El paquete javabookPara ser un buen programador de lenguajes orientados a objetos, uno debe primero aprender cmo usar clases predefinidas.Las clases predefinidas de javabook tiene las siguientes ventajas:1. Le proporciona una pequea muestra de cmo se desarrollan los programas del mundo real.2. Minimiza el impacto de la sintaxis y la semntica del lenguaje de programacin.3. Le permite escribir programas prcticos sin aprender demasiados detalles del lenguaje Java.4. Sirve como un buen ejemplo de diseo de clases.

  • EjemploDefinicin del problemaLos desarrollos empiezan con una definicin del problema. La definicin del problema para nuestros programas de ejemplo ser corta, variando entre una sentencia y un prrafo, pero la definicin del problema para las aplicaciones avanzadas y complejas puede contener muchas pginas.

    Escriba una aplicacin que muestre el mensaje Me Gusta Java.

  • EjemploDiseoEn la etapa de diseo, se traduce la definicin del problema dado en un documento de diseo que se puede implementar.Para los programas orientados a objetos, un documento de diseo incluir una lista de clases.Las clases del documento de diseo son clases predefinidas hechas por el usuario.Para cada clase en la lista, se identifica su objetivo, los mtodos y valor de datos que sern definidos en ella, las suposiciones hechas para su uso y algunas cosas ms.

  • DiseoDocumento diseo: MostrarMensaje

    ClasePropsitoMostrarMensajeLa clase principal del programa.MainWindowMarco de ventana principal del programa. El ttulo se define para MostrarMensaje. Esta clase es de javabook.MessageBoxDilogo para mostrar el mensaje pedido. Clase de javabook.

  • Diagrama de objetosMostrarMensajemainventanaPrincipalMainWindowshowcuadroMensajeMessageBoxshow

  • Codificacin/* Programa MostrarMensaje El programa muestra el texto "Me gusta Java". El programa utiliza un objeto MessageBox del paquete javabook para mostrar el texto. */ import javabook.*; class MostrarMensaje { public static void main(String args[]) { // se declaran dos objetos MainWindow ventanaPrincipal; MessageBox cuadroMensaje; // se crean dos objetos ventanaPrincipal = new MainWindow("Mostrar mensaje"); cuadroMensaje = new MessageBox(ventanaPrincipal); // se hacen visibles los dos objetos: // primero el marco (ventana principal) // y despus el dialogo con el mensaje ventanaPrincipal.show(); cuadroMensaje.show("Me gusta Java"); } }

  • Applets/* Programa MiPrimerApplet Un applet que muestra el texto "Me gusta Java y un rectangulo rodeando al texto. */ import java.applet.*; import java.awt.*; public class MiPrimerApplet extends Applet { public void paint(Graphics g) { g.drawString("Me gusta Java",70,70); g.drawRect(50,50,130,30); } }ComentarioSentenciasimportDeclaracin de clase

  • Diagrama de objetos del appletAppletViewermainMiPrimerAppletpaintGraphics

  • Subclase de appletUna subclase de Applet se declara como:

    public class extends applet{

    }AppletMiPrimerApplet

  • Pasos para ejecutar un appletMiPrimerApplet.javaMiPrimerApplet.class/* Programa MiPrimerApplet Un applet que muestra el texto "Me gusta Java y un rectangulo rodeando al texto. */import java.applet.*; import java.awt.*; public class MiPrimerApplet extends Applet { public void paint(Graphics g) { g.drawString("Me gusta Java",70,70); g.drawRect(50,50,130,30); } }9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794 9032 274874284294424982749794Compilador(archivo fuente)Programa en ejecucin(archivo objeto)EditorPaso 1Paso 2Paso 4Edit, Notepad, etc.javac (archivo html)Edit, Notepad, etc.AppletViewerPaso 3

  • Archivos HTML Se necesita un archivo HTML que haga referencia al archivo con el cdigo objeto de applet para ejecutar el applet.

  • Preguntas rpidas1. Por qu son un visor de applet y un navegador web distintos?2. Qu clase es la clase principal de un applet?3. Qu mtodo de la clase Graphics se usara para dibujar un rectngulo?4. Cul es el objetivo de la etiqueta APPLET en un archivo HTML?

  • ActividadEscriba un programa en Java que enve los siguientes letreros a la pantalla y envie los mensajes que se indican a la ventana principal. Localiza la ventana principal inicialmente en la posicin 150,150 y con dimensiones 100 x 100.LetreroMensaje BienvenidosPoner ventana en la posicin 100,100 Como estan?Cambiar ancho a 400 Yo soy...nombreCambiar alto a 300 Eso es todo...Poner ventana en la posicin 200,400 Fin...

  • Cdigo bsico de la actividad/* Programa Actividad */ import javabook.*; class Actividad { public static void main(String args[]) { // se declaran dos objetos MainWindow ventanaPrincipal; MessageBox cuadroMensaje; // se crean dos objetos ventanaPrincipal = new MainWindow("Mostrar mensaje"); cuadroMensaje = new MessageBox(ventanaPrincipal); // se hacen visibles los dos objetos: ventanaPrincipal.show(); cuadroMensaje.show(Bienvenidos"); //AQU VA EL CDIGO PEDIDO... } }

  • Algunos mtodos disponibles para dibujar grficosMtodoSignificadodrawLine(x1 ,y1 ,x2,y2)Dibuja una lnea entre (x1,y1) y (x2,y2)drawRect(x,y,w,h)Dibuja un rectngulo con anchura w y altura h en (x,y)drawRoundRect(x,y,w,h,aw,ah)Dibuja un rectngulo con esquinas redondeadas, anchura w y altura h en (x, y) Los parmetros aw y ah determinan el ngulo para redondear las esquinasdraw0val(x,y,w,h)Dibuja un valo con anchura w y altura h en la posicin (x, y)drawString("texto",x,y)Dibuja el string texto en (x,y)

  • Ejemplo grficoimport javabook.*; import java.awt.*; class Triangulo{ static public void main(String[] args){ MainWindow ventana = new MainWindow(); InputBox entrada = new InputBox(ventana); ventana.show(); //mostrar ventana antes de iniciar grficos Graphics g = ventana.getGraphics(); g.setColor(Color.red); g.drawLine(100,100,400,100); g.drawLine(400,100,400,400); g.drawLine(400,400,100,100); } }Dibujo de un Tringulo

  • Una caritaimport javabook.*; import java.awt.*; class Carita{ static public void main(String[] args){ MainWindow ventana = new MainWindow(); InputBox entrada = new InputBox(ventana); ventana.show(); //mostrar ventana antes de iniciar grficos Graphics g = ventana.getGraphics(); g.setColor(Color.red); g.drawOval(100,100,400,400); g.drawOval(200,250,40,40); g.drawOval(350,250,40,40); g.drawArc(200,350,200,100,225,90); } }100,100400400200,250350,250200,3502001002259040404040