Un applet es un componente de una aplicación que se ejecuta en el contexto de otro programa, por ejemplo un navegador web. El applet debe ejecutarse en un contenedor, que lo proporciona un programa anfitrión, mediante un plugin, o en aplicaciones como teléfonos móviles que soportan el modelo de programación por applets.
A diferencia de un programa, un applet no puede ejecutarse de manera independiente, ofrece información gráfica y a veces interactúa con el usuario, típicamente carece de sesión y tiene privilegios de seguridad restringidos. Un applet normalmente lleva a cabo una función muy específica que carece de uso independiente. El término fue introducido en AppleScript en 1993.
Ejemplos comunes de applets son las Java applets y las animaciones Flash. Otro ejemplo es el Windows Media Player utilizado para desplegar archivos de video incrustados en los navegadores como el Internet Explorer. Otros plugins permiten mostrar modelos 3D que funcionan con una applet.
Un Java applet es un código JAVA que carece de un método main, por eso se utiliza principalmente para el trabajo de páginas web, ya que es un pequeño programa que es utilizado en una página HTML y representado por una pequeña pantalla gráfica dentro de ésta.
Por otra parte, la diferencia entre una aplicación JAVA y un applet radica en cómo se ejecutan. Para cargar una aplicación JAVA se utiliza el intérprete de JAVA (pcGRASP de Auburn University, Visual J++ de Microsoft, Forte de Sun de Visual Café). En cambio, un applet se puede cargar y ejecutar desde cualquier explorador que soporte JAVA (Netscape, Internet Explorer, Mozilla Firefox...).
CARACTERÍSTICAS DE UN APPLET
Los applets no tienen un método main( ) con el que comience la ejecución.
Todos los applets derivan de la clase java.applet.Applet
Los applets deben redefinir ciertos métodos heredados de Applet que controlan su ejecución: init(), start(), stop(), destroy().
Los métodos gráficos se heredan de Component, mientras que la capacidad de añadir componentes de interfase de usuario de heredan de Container y de Panel.
También suelen redefinir ciertos métodos gráficos: los más importantes son paint(), update() y repaint().
Los applets disponen de métodos relacionados con la obtención de información, como por ejemplo: getAppletInfo(), getAppletContext(), getParameterInfo(), getParameter(),getCodeBase(), getDocumentBase() e isActive().
public class Formulario { public Formulario () { } public static int leer ()throws IOException{ InputStreamReader entrada =new InputStreamReader(System.in); BufferedReader lectura= new BufferedReader(entrada); String cadena=lectura.readLine(); try{ return (Integer.parseInt(cadena)); } catch(Exception e){ System.out.println("ERROR DIGITO UNA CADENA EN VEZ DE UN NUMERO POSITIVO"); return 0; } } public static void main (String arg[]) throws IOException { System.out.println("DIGITE LIMITE SUPERIOR (NUMERO POSITIVO)"); int a=leer(); Fibonacci Obj1=new Fibonacci(); if(Obj1.verificarpositivo(a)) System.out.println("SERIE: "+Obj1.generarserie(a)); else System.out.println("LOS DATOS QUE DIGITO NO PERMITEN GENERAR SERIE"); } }
Schaum*: El lenguaje de programación Java es un lenguaje moderno, presentado por primera vez por Sun Microsystems en el segundo semestre de 1995. Desde el principio ganó adeptos rápidamente por muy diversas razones, una de las más importantes es su neutralidad frente a la plataforma de ejecución lo que permite, entre otras cosas, añadir programas a una página Web.
MAQUINA VIRTUAL (ANGELA)
Es un software que emula a una computadora y puede ejecutar programas como si fuese una computadora real. Este software en un principio fue definido como "un duplicado eficiente y aislado de una máquina física". La acepción del término actualmente incluye a máquinas virtuales que no tienen ninguna equivalencia directa con ningún hardware real.
RECOLECTOR DE BASURA (TATIANA)
Liberar espacios de memoria Agilizar los procesos Permite mayor seguridad Un objeto que no se utilice el recolector lo borra En java no es necesario crear un destructor como en el lenguaje C/C++
JDK (ANDRES)
La creación de un programa en Java, ya sean applets o aplicaciones convencionales, necesita la instalación de las herramientas de desarrollo de Java. El Kit de Desarrollo de Java (JDK) es una donación de Sun Mycrosystem a la que podemos acceder visitando el sitio que posee Sun en la Red.
COMPILADOR: Es un traductor que pasa de lenguaje fuente a lenguaje maquina
TIPOS DE DATOS EN JAVA (HARVEY RICARDO Y ERIKA)
El lenguaje java define 8 tipos de datos primitivos:
Datos de Tipo Numérico →
Números Enteros→ byte, short, int, long. →
Números en coma flotante →Float y double.
Datos de tipo carácter → Char.
Datos de tipo Booleano → Boolean
Tipos de datos enteros
Se usan para representar números enteros con signo. Hay cuatro tipos: byte (1Byte -8 bits), short (2 Bytes -16 bits), int (4 Bytes -32 bits) y long (8 Bytes -64 bits).
Tipos de datos en coma flotante
Se usan para representar números con partes fraccionarias. Hay dos tipos de coma flotante: float (4 Byte -32 bits) y double (8 Bytes -64 bits)
Tipo de datos carácter
Se usa para almacenar caracteres Unicode simples. Debido a que el conjunto de caracteres Unicode se compone de valores de 16 bits, el tipo de datos char se almacena en un entero sin signo de 16 bits.
ENTORNO DE PROGRAMACION (YENNY)
Los entornos de programación son el soporte para la preparación de programas, es decir que es un editor de código, compilador, depurador y un constructor de interfaz grafica.
EJERCICIO N°2
PROBLEMA:
Se necesita sumar dos números y calcular el factorial a un numero dado.
Requisitos:
Desarrollado en java
Autónomo
Applet
Con arquitectura multinivel
El diagrama de casos de uso permite establecer las necesidades del sistema
PASOS PARA DESARROLLAR EL EJERCICIO
Abrir el programa NetBeans 6.7.1 Para crear un nuevo proyecto siga la siguiente ruta: ARCHIVO/ PROYECTO NUEVO/ JAVA/ APLICACIÓN JAVA
Al seleccionar la APLICACIÓN JAVA damos clic en el icono que dice SIGUIENTE, después de ello aparecerá una nueva ventana en la cual le daremos nombre al proyecto y la ubicación donde se guardara todos los archivos y carpetas, en este caso nuestro proyecto se llamara EjemCalculadora. Al destinar la ubicación del proyecto le damos terminar
Al terminar nos dirigimos al panel izquierdo, ponemos el cursor sobre paquetes de fuente y le damos clic derecho y en ello creamos dos nuevos paquetes de java (Lógica y Presentación)
Una vez creados los dos paquetes nos dirigimos a archivo proyecto nuevo y seleccionamos UML/JAVA-PLATAFORM MODEL y luego le damos SIGUIENTE
Le damos el nombre de ejemplocalculadorajava, le damos terminar y obtenemos una nueva ventana donde saldrán diferentes opciones, damos clic sobre USE CASE DIAGRAM y la damos TERMINAR
Luego de esto saldrá una nueva pantalla en la cual realizaremos el DIAGRAMA DE CASOS DE USO. En el panel derecho hay unos iconos damos clic en el icono ACTOR el cual nos mostrara en la pantalla un muñeco le daremos el nombre de ESTUDIANTE
Ahora insertamos los casos de uso los cuales los encontraremos en el panel derecho con el nombre de USE CASE, creamos tres casos de uso con los nombres de SUMAR NUMEROS, CALCULAR FACTORIAL y DIGITAR NUMEROS.
Le damos clic derecho en el actor y le damos ASOCIATION, asociando el actor a los tres casos que ya se habían realizado.
SUMAR NÚMEROS y obtenemos un panel con varias funciones, damos clic en la opción INCLUDE, vinculándola al caso de uso de DIGITAR NUMEROS, realizamos el proceso anterior sobre el caso de uso CALCULAR FACTORIAL.
Cuando terminamos el proceso anterior nos dirigimos al panel izquierdo, colocamos el cursor sobre la carpeta MODEL damos clic derecho y le damos la opción NEW/DIAGRAM
Saldrá una nueva ventana que nos permitirá crear el DIAGRAMA DE CLASES, con ayuda de los iconos en el panel derecho crearemos las dos clases que se habían realizado en el análisis.
Nos dirigimos al panel izquierdo damos clic sobre el icono CLASS, el programa creara la forma grafica de una clase en la cual le daremos el nombre de Calculadora, damos clic derecho sobre la clase en la parte de ATTRIBUTE y le damos la opción CREATE ATTRIBUTE.
Cuando hemos insertado el private int dato en la parte de OPERATIONS el programa por defecto me creara las funciones set & get, ahora damos clic derecho sobre la parte de OPERATIONS y le damos en la opción CREATE OPERATION, creamos los métodos de SUMAR y FACTORIAL.
Luego realizamos el mismo proceso anterior para crear la clase FrmCalculadora con sus métodos y atributos.
Ahora vinculamos la clase Calculadora y la clase FrmCalculadora, una vez este vinculados damos clic derecho sobre la clase Calculadora y le damos la opción GENERATE CODE.
Luego de esto saldrá una ventana donde buscaremos la aplicación de java EjmCalculadora y le damos la opción ACEPTAR. Cuando damos esta opción esperamos un momento, minimizamos la pantalla y volvemos a ampliar la pantalla creara los archivos.
CODIGO CALCULADORA
package logica;
public class Calculadora {
private int dato;
public Calculadora () {
}
public int getDato () {
return dato;
}
public void setDato (int val) {
this.dato = val;
}
public int sumar (int dato2) {
return (dato+dato2);
}
public long factorial () {
int i;
long totalfactorial=1;
for(i=dato;i>0;i--)
totalfactorial*=i;
return(totalfactorial);
}
} CODIGO FRMCALCULADORA
package presentacion;
import java.io.*;
import logica.Calculadora;
public class FrmCalculadora {
private Calculadora obj1= new Calculadora();
public FrmCalculadora () {
}
public static int leer () throws IOException {
InputStreamReader entrada =new InputStreamReader(System.in);
BufferedReader lectura= new BufferedReader(entrada);
String cadena=lectura.readLine();
return (Integer.parseInt(cadena));
}
public Calculadora getObj () {
return obj1;
}
public void setObj (Calculadora val) {
this.obj1 = val;
}
public static void main (String args[]) throws IOException {
Calculadora obj1 =new Calculadora();
System.out.println("digite dos numeros");
int dato1=leer();
int dato2=leer();
obj1.setDato(dato1);
System.out.println("Suma: "+obj1.sumar(dato2));
System.out.println("Factorial: "+obj1.factorial());
}
Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.
Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, entre otros. Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro. Los lenguajes de programación de una computadora en particular se conocen como código de máquinas o lenguaje de máquinas. Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra computadora diferente.
Para que estos programas funcionen para diferentes computadoras hay que realizar una versión para cada una de ellas, lo que implica el aumento del costo de desarrollo. Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin sentido nemotécnico. Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leídas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar. Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leídos por una persona.
JAVA:
El lenguaje de programación Java, fue diseñado por la compañía Sun Microsystems Inc, con el propósito de crear un lenguaje que pudiera funcionar en redes computacionales heterogéneas (redes de computadoras formadas por más de un tipo de computadora, ya sean PC, MAC's, estaciones de trabajo, etc.), y que fuera independiente de la plataforma en la que se vaya a ejecutar. Esto significa que un programa de Java puede ejecutarse en cualquier máquina o plataforma. El lenguaje fue diseñado con las siguientes características en mente:
Simple. Elimina la complejidad de los lenguajes como "C" y da paso al contexto de los lenguajes modernos orientados a objetos. Orientado a Objetos. La filosofía de programación orientada a objetos es diferente a la programación convencional.
Familiar. Como la mayoría de los programadores están acostumbrados a programar en C o en C++, el sintaxis de Java es muy similar al de estos.
Robusto. El sistema de Java maneja la memoria de la computadora por ti. No te tienes que preocupar por apuntadores, memoria que no se esté utilizando, etc. Java realiza todo esto sin necesidad de que uno se lo indique.
Seguro. El sistema de Java tiene ciertas políticas que evitan se puedan codificar virus con este lenguaje. Existen muchas restricciones, especialmente para los applets, que limitan lo que se puede y no puede hacer con los recursos críticos de una computadora.
Portable. Como el código compilado de Java (conocido como byte code) es interpretado, un programa compilado de Java puede ser utilizado por cualquier computadora que tenga implementado el interprete de Java.
Independiente a la arquitectura. Al compilar un programa en Java, el código resultante un tipo de código binario conocido como byte code. Este código es interpretado por diferentes computadoras de igual manera, solamente hay que implementar un intérprete para cada plataforma. De esa manera Java logra ser un lenguaje que no depende de una arquitectura computacional definida.
Multithreaded. Un lenguaje que soporta múltiples threads es un lenguaje que puede ejecutar diferentes líneas de código al mismo tiempo.
Interpretado. Java corre en máquina virtual, por lo tanto es interpretado.
Dinámico. Java no requiere que compiles todas las clases de un programa para que este funcione. Si realizas una modificación a una clase Java se encarga de realizar un Dynamic Bynding o un Dynamic Loading para encontrar las clases.
MAQUINA VIRTUAL:
Es un software que emula a una computadora y puede ejecutar programas como si fuese una computadora real. Este software en un principio fue definido como "un duplicado eficiente y aislado de una máquina física". La acepción del término actualmente incluye a máquinas virtuales que no tienen ninguna equivalencia directa con ningún hardware real.
Una característica esencial de las máquinas virtuales es que los procesos que ejecutan están limitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse de esta "computadora virtual".
Uno de los usos domésticos más extendidos de las máquinas virtuales es ejecutar sistemas operativos para "probarlos". De esta forma podemos ejecutar un sistema operativo que queramos probar (Linux, por ejemplo) desde nuestro sistema operativo habitual (Mac OS X por ejemplo) sin necesidad de instalarlo directamente en nuestra computadora y sin miedo a que se reconfigure el sistema operativo primario.
JDK:
El Java Development Kit, JDK por sus siglas en inglés, es un grupo de herramientas para el desarrollo de software provisto por Sun Microsystems, Inc. Incluye las herramientas necesarias para escribir, testear, y depurar aplicaciones y applets de Java.
“Este tipo de programación es un nuevo medio de pensar sobre lo que significa computar (computadorizar), es decir, como se puede estructurar información en un computador. Es una nueva forma de enfocar el trabajo de la programación. La POO permite descomponer fácilmente un problema en subgrupos (objetos) de partes relacionadas, facilitando así la solución de los mismos. Todos los lenguajes de programación orientados a objetos tienen tres cosas en común: Objetos, Polimorfismo y Herencia.”. 1
§“Siglas de (Programación Orientada a Objetos). En inglés se escribe al revés "OOP". La idea básica de este paradigma de programación es agrupar los datos y los procedimientos para manejarlos en una única entidad: el objeto. Cada programa es un objeto, que a su vez está formado de objetos que se relacionan entre ellos.”2
§La mejor definición es la de Luis Joyanes Aguilar pues da un enfoque mas relacionado a lo que respecta frente a la informática y emplea más el paradigma de la programación orientada a objetos.
OBJETO:
§“Un objeto es sencillamente un tipo abstracto de datos a la que se añaden importantes invocaciones en compartición de código y reutilización del mismo.”3
“Un objeto es simplemente una entidad lógica que contiene datos y un código que manipula estos datos.Este código y estos datos pueden ser públicos, privados o protegidos, lo que permite el encapsulamiento de los datos.” 4
§La definición de Deitel es un poco más acertada en el contexto de la programación llevando su definición a uno de los paradigmas de la POO que es el encapsulamiento.
1.JOYANES AGUILAR, Luis, Programación Orientada a Objetos, Madrid, España: Editorial McGraw-Hill, El desarrollo de SOFWARE, Pg. 3.
4.DEITEL & DEITEL, Como programar en C y C++, 2° Edición: Editorial PRENTICE HALL HISPANOAMERICA S.A, Clases: Parte II, Pg. 642.
.
ATRIBUTOS:
§“Los atributos son las características individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables. Las variables de instancia también denominados miembros dato, son declaradas en la clase pero sus valores son fijados y cambiados en el objeto. Además de las variables de instancia hay variables de clase, las cuales se aplican a la clase y a todas sus instancias. Por ejemplo, el número de ruedas de un automóvil es el mismo cuatro, para todos los automóviles.”5
§Es una definición muy acertada tomando en consideración que los atributos son las características o cualidades que posee el objeto.
METODO:
§“Los métodos son las operaciones que pueden realizarse sobre el objeto, que normalmente estarán incorporados en forma de programas (código) que el objeto es capaz de ejecutar y que también pone a disposición de sus descendientes a través de la herencia. Una operación que realiza acceso a los datos. Podemos definir método como un programa procedimental escrito en cualquier lenguaje, que está asociado a un objeto determinado y cuya ejecución sólo puede desencadenarse a través de un mensaje recibido por éste o por sus descendientes.” 6
§La definición esta muy encaminada a lo que respecta con la informática en el campo de la programación.
CLASE:
§“Las clases son abstracciones que representan a un conjunto de objetos con un comportamiento e interfaz común. Podemos definir una clase como un conjunto de cosas (físicas o abstractas) que tienen el mismo comportamiento y características... Es la implementación de un tipo de objeto (considerando los objetos como instancias de las clases) " 7.
§Es una definición práctica y adecuada a lo que es una clase pues ella es la unión de varios objetos con diferentes atributos que poseen ciertos métodos para resolver un problema.
§“La herencia promueve la reutilización de software, comprobando, depurando y de alta calidad, con lo que reduce los problemas una vez que el programa se hace funcional”8
§“Es la capacidad de crear nuevas clases basándose en clases previamente definidas, de las que se aprovechan ciertos datos y métodos, se desechan otros y se añaden nuevos.”9
§La herencia es un método que permite reutilización de código en otras clases, permitiendo funcionalidad y un mayor ahorro de líneas de código heredando atributos o métodos que necesite las clases que heredan.
POLIMORFISMO:
§“El polimorfismo nos permite escribir programas de manera general para manejar una gran variedad de clases existentes y otras clases aun por especificar”10
§“Polimorfismo es la propiedad que indica, literalmente, que una entidad tome muchas formas. En términos prácticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operaciones en distintas formas, según sea el objeto que se referencia en ese momento”11
§La definición de Luis Aguilar es mas extensa que la que presenta Deitel y con un contenido mucho mas aclararte de lo que es el polimorfismo en la programación.
§“Mediante el denominado paso de mensajes, un objeto puede solicitar de otro objeto que realice una acción determinada o que modifique su estado. El paso de mensajes se suele implementar como llamadas a los métodos de otros objetos. Desde el punto de vista de la programación estructurada, esto correspondería con la llamada a funciones.” 12
UML Y NOTACION DE CLASES:
§“UML (UNIFIED MODELING LANGUAGE) es un lenguaje que permite modelar, construir y documentar los elementos que forman un sistema software orientado a objetos. Se ha convertido en el estándar de facto de la industria, debido a que ha sido impulsado por los autores de los tres métodos más usados de orientación a objetos: Grady Booch, Ivar Jacobson y Jim Rumbaugh.”13
“El Lenguaje Unificado de Modelado prescribe un conjunto de notaciones y diagramas estándar para modelar sistemas orientados a objetos, y describe la semántica esencial de lo que estos diagramas y símbolos significan. Mientras que ha habido muchas notaciones y métodos usados para el diseño orientado a objetos, ahora los modeladores sólo tienen que aprender una única notación.”14