Post on 04-Jun-2018
8/14/2019 2008 05 19 POO Utilizando JAVA
1/168
Desarrollo de Sistemas
utilizandoJAVA
Jess M. Olivares Ceja
www.jesusolivares.commail@jesusolivares.com
8/14/2019 2008 05 19 POO Utilizando JAVA
2/168
AGENDA
Historia de JAVA
Iniciando el uso de JAVA
Modelacin de la Realidad (Abstraccin)
Elementos de Programacin Orientada a Objetos
Elementos del Lenguaje JAVA
Aplicaciones usando JAVA
GUI usando SwingAppletsThreadscliente/servidorJDBC (base de datos)ServletsJSP
8/14/2019 2008 05 19 POO Utilizando JAVA
3/168
Presentacin
8/14/2019 2008 05 19 POO Utilizando JAVA
4/168
Historia de Java
8/14/2019 2008 05 19 POO Utilizando JAVA
5/168
Breve historia de Java
En 1990 James Gosl inginicia el desarroll el lenguaje OaKcomo unavariante de C++ en la empresa SUN (Stanford University Network) con laintencin de operar cualquier mecanismo informtico (como licuadoras,lavaplatos, microondas, etc.) mediante un programas sencillos y simples
que se distribuyen a travs de una red
8/14/2019 2008 05 19 POO Utilizando JAVA
6/168
Breve historia de Java
En 1994 se tuvo una versin del lenguaje que sera Java y se pretendaabandonar por falta de un enfoque apropiado y para cerrarlo el equipo dedesarrollo se reuni con Scott McNealy(presidente ejecutivo de SUN)
quien vio un gran potencial en el nuevo lenguaje y lo apoy personalmente
hasta su lanzamiento al mercado, para esto le cambi el nombre a Javay conel propsito de utilizarlo como plataforma para desarrollos en Internet.
En mayo de 1995 se hizo la presentacin en pblico de Java incluyndoloen el navegador Netscapegenerando as millones de copias en poco tiempo.
Actualmente es uno de los lenguajes ms difundidos para desarrollo deaplicaciones multiplataformas que aprovechan la infraestructura de Internet
8/14/2019 2008 05 19 POO Utilizando JAVA
7/168
Caractersticas de Java
.java .java.java
.class .class.class
Mquina Virtual de Javajava.exe java appletviewer
Hardware
UNIX LinuxWindows Solaris
compilacin
carga
ejecucin
Java es un lenguaje Orientado a Objetosbasado en Clases, usa herenciasimple, es multiplataformae interpretado(mediante la JVM, Maquina Virtual
de Java, Java Virtual Machine), tiene diferentes tipos de programas:consola, applets, servlets y beans; los applets y servlets se usan
directamente en Internet
8/14/2019 2008 05 19 POO Utilizando JAVA
8/168
Iniciando el Uso de JAVA
8/14/2019 2008 05 19 POO Utilizando JAVA
9/168
Recursos para Utilizar Java
Kit de desarrollo (Software Development Kit, SDK), que incluye el compiladory la mquina virtual de Java, se obtiene del sitio de SUN
java.sun.com
el archivo:j2sdk-1_4_2-windows-i586.exe para Win98, 2000
jdk-1_5_0-windows-i586.exe para WinXP 1.5 o superior
API (Application Program Interface, Interfase del Programador de Aplicaciones)
de Java:
java.sun.com/api
Editar e invocador del compilador, se sugiere el uso de JCreator del sitio:
www.jcreator.com
8/14/2019 2008 05 19 POO Utilizando JAVA
10/168
Referencias de Java
Almanaque de Java www.javaalmanac.com
El Libro electrnico Thinking in Java (Bruce Eckel)www.mindview.net/Books/TIJ
Tutorial de Java (SUN)java.sun.com/docs/books/tutorial
Sitio de Oscar Gonzlez www.cic.ipn.mx/ute/ogonzalez
Tutorial de Java www.ulpgc.es/otros/tutoriales/java
Sitio de Jess Olivares www.jesusolivares.com/java
El libro 1001 Tips para programar en Java de Mark C. Chang
8/14/2019 2008 05 19 POO Utilizando JAVA
11/168
Instalacin del Compilador y del Editor
La instalacin del Compilador en Windows requiere dar doble click al archivo :
j2sdk-1_4_2-windows-i586.exeo
jdk-1_5_0-windows-i586.exe
(durante la instalacin se sugiere dar las opciones por omisin)
La instalacin del Editor JCreator en Windows, se hace despus deinstalar el compilador, requiere dar doble click al archivo:
setup.exe
(durante la instalacin se sugiere dar las opciones por omisin)
8/14/2019 2008 05 19 POO Utilizando JAVA
12/168
Primer programa de Java
class Hola{
public static voidmain(String args[]){
System.out.println("hola amigos");}
}
El editor JCreator se activa mediante el icono:
La compilacin se hace presionando el cono:
La ejecucin se hace mediante el cono:
versin 2.5 versin 3.5
Hola
public static void main(String [])
8/14/2019 2008 05 19 POO Utilizando JAVA
13/168
Descripcin de la clase Hola
classindica que Hola es una clase.
publicindica que el mtodo maines visible desde la Maquina Virtual deJava (JVM, Java Virtual Machine)
staticse utiliza para generar mtodos de clase que NO requieren de unobjeto para su ejecucin
voidse coloca para indicar que el mtodo mainNO devuelve valores
String []indica que el mtodo mainrecibe argumentos (de la lnea decomando al ejecutarse)
System.out.println( )tiene la sintaxis CLASE.OBJETO.METODO y seutiliza para desplegar objetos String
8/14/2019 2008 05 19 POO Utilizando JAVA
14/168
Entrada/Salida de la Consola
import java.io.*;
class Hola{
public static voidmain(String args[])throws IOException{BufferedReader consola = new BufferedReader(
new InputStreamReader(System.in));
// DESPLEGA UN INDICADOR PARA LEER UN DATOSystem.out.print("Dato> ");
// LEE UNA cadena DE LA CONSOLA
String cadena = consola.readLine();
// DESPLEGA LA cadena LEIDASystem.out.println("Hola " + cadena);
}}
8/14/2019 2008 05 19 POO Utilizando JAVA
15/168
Suma de dos nmerosimport java.io.*;
class Hola{
public static voidmain(String args[]) throws IOException{BufferedReader consola = new BufferedReader(new InputStreamReader(System.in));
int a, b ;
// LEE EL dato ASystem.out.print("Dato A> ");String cadena = consola.readLine();
a = Integer.parseInt(cadena);
// LEE EL dato B
System.out.print("Dato B> ");String cadena = consola.readLine();
b = Integer.parseInt(cadena);
// DESPLEGA LA SUMA
System.out.println( + a + + + b + = + (a+b));}
}
8/14/2019 2008 05 19 POO Utilizando JAVA
16/168
Modelacin de la Realidad
8/14/2019 2008 05 19 POO Utilizando JAVA
17/168
REALIDADMODELO
Abstraccin
La Abstraccines una operacinmental que permite colocaren el plano de la mente, los detalles relevantes, de una parte
de la realidad que interesa modelar
(abstraer es simplificar)
8/14/2019 2008 05 19 POO Utilizando JAVA
18/168
REALIDADMODELO
Modelo
Un Modeloes una representacin abstracta de una parte de larealidad
Se utiliza para conocer, entender, predecir, simular o explicar larealidad modelada
8/14/2019 2008 05 19 POO Utilizando JAVA
19/168
REALIDAD MODELO
Datos
Acciones
Modelacin
Los Modelos Inf ormticosgeneralmente contienen:
(nmeros, letreros, fotos, msica)
y (procesos, rutinas, mtodos, procedimientos, reglas)
Datos
Acciones
8/14/2019 2008 05 19 POO Utilizando JAVA
20/168
Sistema de Informacin
Datos Procesos
Entrada Salida
Estructura
Un Sistema de Info rmacin es un modelo informtico con:
entrada(s), salida(s), datos, procesos y la estructura
8/14/2019 2008 05 19 POO Utilizando JAVA
21/168
Dos Sistemas de Informacin
c5 8 4 5 8 4( )+*+*
Datos: 5 8 4Procesos: * +
Estructura: es el orden en que aplican los procesos sobre los datos(representado con las lneas continuas)
8/14/2019 2008 05 19 POO Utilizando JAVA
22/168
8/14/2019 2008 05 19 POO Utilizando JAVA
23/168
Programacin Dirigida por Sintaxis (PDS)
La PDS*es un mtodo quese utiliza para encontrar loselementos de un Sistemade Informacin a partir del
lenguaje del usuario.
Se buscan datos, procesosy estructuras
* autor: Fernando Galindo Soria
El sistema tiene
8/14/2019 2008 05 19 POO Utilizando JAVA
24/168
Elementos de un Sistema de Informacin
Los elementos de informacin encontrados son datos y acciones.
8/14/2019 2008 05 19 POO Utilizando JAVA
25/168
Elementos de un Sistema de Informacin
Los elementos de informacin encontrados son datos y acciones.
Estos elementos se agrupan cuando estn relacionados en estructuras
8/14/2019 2008 05 19 POO Utilizando JAVA
26/168
Encapsulacin
Se llama Encapsulacin cuando se colocan juntos propiedades
y mtodos en una unidad.Se adicionan mtodos (lneas punteadas) que permiten asignar o recuperar
valores de las propiedades
A partir de esta encapsulacin se genera el concepto de clase
8/14/2019 2008 05 19 POO Utilizando JAVA
27/168
Clase: Pila de datos
push(dato) pop()
Con la Encapsulacin se pretende que las propiedades queden
ocultas para el usuario de la clase.Para manejar un objeto de la clase Pila se usan
los mtodos push(dato)para almacenar y pop()para recuperar
8/14/2019 2008 05 19 POO Utilizando JAVA
28/168
Clase
8/14/2019 2008 05 19 POO Utilizando JAVA
29/168
Elementos de una ClasePropiedad
nombre
Una Propiedades un dato de Tipo Primitivo (TDP) o un objeto.
Por ejemplo, una variable x, nombrePersona, imagen, archivo.
Grficamente representamos a una propiedad como un rectngulo su nombregeneralmente se escribe con minsculas,si aparece ms de una palabra,
al inicio de cada una se escribe letra mayscula
8/14/2019 2008 05 19 POO Utilizando JAVA
30/168
Elementos de una ClaseMtodo
despliega()
Un Mtodoes un proceso abstracto y contiene un conjunto finito de instrucciones.
Grficamente representamos a un mtodo con un crculo, su nombre es similaral de las propiedades y termina con parntesis donde van los parmetros.
Al conjunto de mtodos de una clase se le llama la Interfase de la Clase. Lasclases y mtodos de Java se encuentran descritos en la API
(Application Program Interface) java.sun.com/api
8/14/2019 2008 05 19 POO Utilizando JAVA
31/168
8/14/2019 2008 05 19 POO Utilizando JAVA
32/168
Clase Automovil
class Automovil{// PROPIEDADESString color ;int velocidadMaxima ;
// MTODOSvoid asignaColor(String _color){
color = _color;}
String indicaColor(){
return color;}
}
8/14/2019 2008 05 19 POO Utilizando JAVA
33/168
Interfase
8/14/2019 2008 05 19 POO Utilizando JAVA
34/168
Interfase
Runnable
run() stop()
Una Interfasees un conjunto de mtodos SIN propiedades que indicaCuales son las acciones que se deben llevar a cabo pero SIN desarrollar cada
Una de esas acciones.Se coloca con la palabra reservada de Java: implements
8/14/2019 2008 05 19 POO Utilizando JAVA
35/168
Interfase Runnable
interface Runnable{
void run();void start(String cadena);
}
8/14/2019 2008 05 19 POO Utilizando JAVA
36/168
Objeto
8/14/2019 2008 05 19 POO Utilizando JAVA
37/168
Objeto
circulo
x
despliega()
y
mueve()
Un Objetoes una instancia (caso particular) de una clase.
El nombre de un objeto es una referencia hacia las propiedades y mtodos.Un objeto apunta hacia propiedades y mtodos y es relocalizable,
esto significa que No apunta hacia una direccin de memoria especfica.
Grficamente se representa de forma similar que una clase la diferencia es quegeneralmente el nombre de un objeto se inicia con minsculas.
8/14/2019 2008 05 19 POO Utilizando JAVA
38/168
Objeto
circulo
despliega() mueve()
Un Objetodebe utilizarse sin hacer referencia a las propiedades que lo forman.El acceso a sus propiedades y la recuperacin de valores debe hacerse a travs
de sus mtodos nicamente.
(aunque SI es posible accesar sus propiedades directamente precedidas del nombre del objeto)
8/14/2019 2008 05 19 POO Utilizando JAVA
39/168
Objetos de la Clase Automovil
class Agencia{public static voidmain(String args[]){// OBJETOSAutomovil autoDeportivo = new Automovil();
Automovil camioneta = new Automovil();
// INVOCACIN DE MTODOSautoDeportivo.asignaColor("azul");camioneta.asignaColor("rojo");
System.out.println("autoDeportivo color " +autoDeportivo.indicaColor());System.out.println("camioneta color " +camioneta.indicaColor());
}
}
8/14/2019 2008 05 19 POO Utilizando JAVA
40/168
Constructor
8/14/2019 2008 05 19 POO Utilizando JAVA
41/168
Constructor
Figura
Figura()
Un Const ructores un mtodo pblico que lleva el mismo nombre de la clasea la que pertenece.
Se ejecuta automticamente cuando se crea una instancia de la clase (objeto),generalmente el desarrollador lo utiliza para asignar valores iniciales a las
propiedades del objeto.En Java automticamente cada clase tiene un
constructor con el mismo nombre de la clase sin argumentos de entrada.
Si el usuario escribe su propio constructor entonces debe utilizarlo.
8/14/2019 2008 05 19 POO Utilizando JAVA
42/168
Clase Automovil con un Constructor
class Automovil{
String color ;
Automovil(String _color){
color = _color;}void asignaColor(String _color){
color = _color;
}String indicaColor(){
return color;}
}class Autos{public static void main(String args[])
{// OBJETOS DE LA CLASE Automovil USANDO EL CONSTRUCTORAutomovil autoDeportivo = new Automovil("azul");Automovil camioneta = new Automovil("rojo");
System.out.println("autoDeportivo color " + AutoDeportivo.indicaColor());System.out.println("camioneta color " + Camioneta.indicaColor());
}}
8/14/2019 2008 05 19 POO Utilizando JAVA
43/168
Sobrecarga de Mtodos
8/14/2019 2008 05 19 POO Utilizando JAVA
44/168
Sobrecarga de mtodos
La Sobrecargase da cuando se usa en una misma clase,el mismo nombre de un mtodo pero con diferentes argumentos.
Las operaciones de los mtodos, generalmente, son diferentes.
Cualquier mtodo en una clase es posible sobrecargarlo, tanto losconstructores como los mtodos de clase o de instancia
Figura
Figura() Figura(String)
S b d t d
8/14/2019 2008 05 19 POO Utilizando JAVA
45/168
Sobrecarga de mtodosclass Automovil{String color ;
Automovil(){
color = "blanco";}
Automovil(String _color){
color = _color;}
void asignaColor(String _color){
color = _color;}String indicaColor(){
return color;}
}
class Autos{public static voidmain(String args[]){
Automovil autoDeportivo = new Automovil("azul");Automovil camioneta = new Automovil();
System.out.println("autoDeportivo color " + AutoDeportivo.indicaColor());System.out.println("camioneta color " + Camioneta.indicaColor());
}}
8/14/2019 2008 05 19 POO Utilizando JAVA
46/168
Propiedades y Mtodos de Clase
P i d d Mt d d Cl
8/14/2019 2008 05 19 POO Utilizando JAVA
47/168
Propiedades y Mtodos de Clase
Las Pro p iedades y Mtodos de Clase se crean una sola vez en cada clase ylos comparten los objetos (instancias) de esa clase.
Se identifican porque los precede la palabra reservada static.
Automovil
static cuenta
static Contador()
color
Automovil()
asignaColor()
indicaColor()
8/14/2019 2008 05 19 POO Utilizando JAVA
48/168
Propiedades y Mtodos de Clase en Ejecucin
Automovil
static cuenta
static Contador()
camioneta
color
Automovil()
asignaColor()
indicaColor()
autoDeportivo
color
Automovil()
asignaColor()
indicaColor()
Mt d P i d d d Cl
8/14/2019 2008 05 19 POO Utilizando JAVA
49/168
Mtodos y Propiedades de Claseclass Automovil{String color ; // PROPIEDAD DE OBJETOstatic int cuenta; // PROPIEDAD DE CLASE
// CONSTRUCTORESAutomovil(){
color = "blanco";cuenta++;
}Automovil(String _color){
color = _color;cuenta++;
}// METODOS DE INSTANCIAvoid asignaColor(String _color){
color = _color;}String indicaColor()
{return color;
}// METODO DE CLASEstatic void contador(){
System.out.println("Creadas "+ cuenta+ " instancias");
}
}
class Autos
{public static voidmain(String args[]){// SE INVOCA AL METODO DE CLASE SIN CREAR OBJETOAutomovil.contador();Automovil.cuenta = 8;Automovil autoDeportivo = new Automovil();
// EL METODO DE CLASE INVOCADO DESDE UN OBJETO
autoDeportivo.contador();Automovil camioneta = new Automovil("rojo");camioneta.contador();
System.out.println("autoDeportivo color "+ autoDeportivo.indicaColor());
System.out.println("camioneta color "+ camioneta.indicaColor());
Automovil.contador();}
}
8/14/2019 2008 05 19 POO Utilizando JAVA
50/168
Clonacin de Objetos
Cl i
8/14/2019 2008 05 19 POO Utilizando JAVA
51/168
Clonacin
La Clonacin de un objeto consiste en generar una copia del mismoen otra localidad de memoria,
en vez de solamente referenciarlo mediante otra variable.
circulo
x
despliega()
y
mueve()
clonCirculo
x
despliega()
y
mueve()
apuntadorCirculo
// COPIA DE REFERENCIACirculo apuntadorCirculo = circulo;
Circulo circulo = new Circulo();
// CLONACINCirculo clonCirculo = circulo.clone();
Cl i d bj t
8/14/2019 2008 05 19 POO Utilizando JAVA
52/168
Clonacin de un objetoclass Persona implements Cloneable{String nombre ;
String direccion ;
public Persona(String _nombre ,String _direccion){
nombre = _nombre;direccion = _direccion;
}public Object clone(){Cloneable clon = new Persona(nombre ,direccion);
return clon;}void asignaDireccion(String _direccion){
direccion = _direccion;}void despliega(){
System.out.println("Nombre: " + nombre +" Direccin: " + direccion);
}}
Clonacin de n objeto
8/14/2019 2008 05 19 POO Utilizando JAVA
53/168
Clonacin de un objetoclass Clon{
public static void main(String arg[])
{Persona juan = new Persona("Juan" ,"Lomas"); // SE CREA EL OBJETO juan
juan.despliega(); // SE DESPLIEGAN LOS DATOS DE juanSystem.out.println("Clonando a Juan");
Persona copiaJuan = (Persona)juan.clone(); // SE CLONA EL OBJETO juan
Persona otroApuntadorJuan = juan; // OTRO OBJETO APUNTA A juan
copiaJuan.asignaDireccion("Iztapalapa"); // CAMBIO DE DIRECCION AL CLONjuan.despliega(); // DESPLIEGA LOS DATOS DE juancopiaJuan.despliega(); // DESPLIEGA LOS DATOS DEL CLONotroApuntadorJuan.despliega(); // DESPLIEGA LOS DATOS DEL OTRO APUNTADOR
otroApuntadorJuan.asignaDireccion("C.U."); // CAMBIO DE DIRECCION A juan
juan.despliega(); // DESPLIEGA LOS DATOS DE juanotroApuntadorJuan.despliega(); // DESPLIEGA LOS DATOS DEL OTRO APUNTADOR
}}
Liberacin de Memoria
8/14/2019 2008 05 19 POO Utilizando JAVA
54/168
Liberacin de Memoria
Se hace automticamente mediante el Recolector deBasura (Garbage Collector) cuando a un objeto nadie lo
apunta
A diferencia de C++, JAVA no cuenta con mtodosDestructor en las clases, esto se hace automticamente
8/14/2019 2008 05 19 POO Utilizando JAVA
55/168
Relaciones entre clases
8/14/2019 2008 05 19 POO Utilizando JAVA
56/168
Relaciones entre Clases:
Herencia
ComposicinAgregacin
Asociacin
Las relaciones entre clases permiten la reutilizacin de cdigo
8/14/2019 2008 05 19 POO Utilizando JAVA
57/168
Herencia
La Herenciaes una relacin entre clases en donde la subclase clase hereda laspropiedades y mtodos de la superclase.
Se representa mediante relaciones es_uncon una flecha con punta huecadirigida de la clase derivada a la superclase.
Persona
ProfesorAlumno
8/14/2019 2008 05 19 POO Utilizando JAVA
58/168
Obtencin de las relaciones de herencia
Las Relaciones de Herenciase obtienen mediante la generalizacin yla especializacin.
La Generalizacinse hace a partir de un conjunto de clases y se bscauna clase que las generaliza (agrupa)
La Especializacinse genera cuando a partir de una clase genrica seobtienen clases que son casos particulares de la misma
8/14/2019 2008 05 19 POO Utilizando JAVA
59/168
S b it
8/14/2019 2008 05 19 POO Utilizando JAVA
60/168
Sobreescritura
Se le llama Sobreescri turacudndo un mtodo existente en una superclase sedeclara en una subclase y ambos tienen el mismo nombre,
en este caso el mtodo de la clase derivada sobreescribe a la superclase.En este ejemplo el mtodo pinta() de Circulo sobrescribe al de Figura mientras que
Triangulo utiliza el mtodo pinta() que hereda de Figura
TrianguloCirculo
Figura
pinta()
pinta()
8/14/2019 2008 05 19 POO Utilizando JAVA
61/168
Polimorfismo
8/14/2019 2008 05 19 POO Utilizando JAVA
62/168
Polimorfismo
El Pol imor f ismo se da cuando un mtodo aparece en dos clases diferentescon el mismo nombre y argumentos.
El comportamiento generalmente es diferente
Triangulo
Figura
pinta()
Circulo
x
Isoceles
base
altura
pinta()
Cuadrado
y
color
radio
pinta()pinta()
lado
Polimorfismo
8/14/2019 2008 05 19 POO Utilizando JAVA
63/168
Polimorfismo
// DECLARA EL ARREGLO DE OBJETOSFigura arreglo[] = new Figura[6];
// DETERMINA QUE OBJETO SE ALMACENA EN CADA ELEMENTOarreglo[0] = new Circulo(20,30,10 ,Color.blue);arreglo[1] = new Triangulo(50,220,Color.red);arreglo[2] = new Circulo(200,100,40 ,Color.cyan);
arreglo[3] = new Cuadrado(120,40,30,Color.green);arreglo[4] = new Triangulo(250,70,Color.gray);arreglo[5] = new Isoceles(173 ,204 ,50 ,66
,new Color(0100 ,150 ,0xFF));
// LLAMA AL METODO pinta PARA CADA ELEMENTO APLICANDO POLIMORFISMOfor(int i=0; i < arreglo.length; i++)
arreglo[i].pinta();
8/14/2019 2008 05 19 POO Utilizando JAVA
64/168
Composicin
ChasisLlanta
Motor
Automovil
8/14/2019 2008 05 19 POO Utilizando JAVA
65/168
Composicin
La Composic inconsiste en incluir (o formar) una clase a otra(s) como unapropiedad para crear clases complejas. En este caso se reutiliza la interfase
de las clases componente. Las clases estn unidas mediante la relacin parte_decon una flecha con punta de rombo. Los objetos que lo componen son privados
Llanta
Automovil
Motor
Chasis
Composicin
8/14/2019 2008 05 19 POO Utilizando JAVA
66/168
Composicinclass Automovil{String marca ;Motor motor ;Chasis chasis ;Llanta llanta[] = new Llanta[4];;
Automovil(String _marca)
{ marca = _marca;motor = new Motor(4);chasis = new Chasis(azul);for( int i = 0; i < llanta.length; i++ )
llanta[i] = new Llanta(deportiva);}
void asignaMotor(Motor _motor){
motor = _motor;}
}
8/14/2019 2008 05 19 POO Utilizando JAVA
67/168
Agregacin
La Agregacines una relacin que permite crear clases complejasmediante la agrupacin de una coleccin de una clase existente
(es una forma ms dbil que la composicin).Las clases estn unidas mediante la relacin parte_decon una flecha con
punta de rombo hueca. En Java las implementaciones de Collectionson ejemplos de esta relacin
BosqueArbol
8/14/2019 2008 05 19 POO Utilizando JAVA
68/168
Asociacin
Cuantificacin de las Relaciones
8/14/2019 2008 05 19 POO Utilizando JAVA
69/168
Paquetes
Paquetes
8/14/2019 2008 05 19 POO Utilizando JAVA
70/168
Paquetes
Un Paquete agrupa a un conjunto de clases se indica en un programa conla palabra reservada import subdirectorio1.subdirectorio2.clase
En la variable de ambiente CLASSPATH debe estar la ruta de la ubicacin de lasclases que forman al paquete subdirectorio1\subdirectorio2
Escuela
Materia
Profesor Salon
Alumno
8/14/2019 2008 05 19 POO Utilizando JAVA
71/168
Paquetes definidos por el usuario
package
8/14/2019 2008 05 19 POO Utilizando JAVA
72/168
Accesibilidad
Accesibilidad
8/14/2019 2008 05 19 POO Utilizando JAVA
73/168
Accesibilidad
La Accesibi l idadse indica con el calificador public, private, protected o abstracten las propiedades y mtodos de una clase.
Accesibilidad Clases Subclases Paquete Todas
public si si si si
protected si si si
friendly" si si
private protected si si
private si
La mismaclase llama
al mtodo
La subclasellama al
mtodo
Las clases delmismo paquete
llaman al mtodo
Cualquierclase llama
al mtodo
8/14/2019 2008 05 19 POO Utilizando JAVA
74/168
Elementos del LenguajeJAVA
8/14/2019 2008 05 19 POO Utilizando JAVA
75/168
Comentarios
Comentarios
8/14/2019 2008 05 19 POO Utilizando JAVA
76/168
Comentarios
while( x < 5 ) // COMENTARIO
En Java existen tres tipos de comentarios:
De Res to de Lnea:
De Var ias Lneas:
/* COMENTARIO QUE OCUPAVARIAS LINEAS*/
De Documentacin:
/** programa.javaESTE ES UN COMENTARIO DE DOCUMENTACION,UTILIZADO POR EL PROGRAMA javadoc*/
8/14/2019 2008 05 19 POO Utilizando JAVA
77/168
Palabras Reservadas
Palabras reservadas
8/14/2019 2008 05 19 POO Utilizando JAVA
78/168
Palabras reservadas
Las Palabras Reservadas son aquellas que tienen un uso especfico en ellenguaje Java y No deben utilizarse como identificadores de usuario.
Las que llevan asterisco (*) en la tabla estn reservadas para uso futuro
abstract boolean break byte case
catch char class *const continue
default do double else extends
final finally float for *future
*generic *goto if implements import
*inner instanceof int interface long
native new null *operator *outerpackage protected public *rest return
short static super switch synchronized
this throw throws *transient try
*var void volatile while
8/14/2019 2008 05 19 POO Utilizando JAVA
79/168
Identificadores de Usuario
Identificadores de usuario
8/14/2019 2008 05 19 POO Utilizando JAVA
80/168
Identificadores de usuario
X
y
$temporal
_auxiliar
UnaClase
Los Ident i f icadores de Usuario se usan para nombrar variables (tipos primitivos,u objetos), mtodos o clases.
Se escriben con una inicial que puede ser letra mayscula o minscula, subraya (_)o el signo de pesos ($) seguidos por una secuencia de letras, nmeros o subraya.Letra significa cualquier smbolo unicode que represente una letra en cualquier
idioma, es un valor entre cero y 65536.
La longitud mxima de un identificador es de 64 caracteres y no deben existirespacios entre los smbolos que lo forman
8/14/2019 2008 05 19 POO Utilizando JAVA
81/168
Tipos de Datos Primitivos
8/14/2019 2008 05 19 POO Utilizando JAVA
82/168
8/14/2019 2008 05 19 POO Utilizando JAVA
83/168
8/14/2019 2008 05 19 POO Utilizando JAVA
84/168
Operadores de Java
Operadores
8/14/2019 2008 05 19 POO Utilizando JAVA
85/168
Operadores
Los Operadores son smbolos (o grupos de smbolos) que representanacciones que se aplican sobre literales o variables de Java.
En la tabla se muestran los operadores de Java con su precedencialos de precedencia menor se ejecutan primero de izquierda a derecha
PRECEDENCIA OPERADORES1 . [ ] ( ) new
2 ++ -- ! ~ instanceof
3 * / %4 + -
5 > >>>
6 < > =
7 == !=
8 &
9 ^10 |
11 &&
12 ||
13 ? :
14 = op=
15 ,
Los operadores son representaciones con una
8/14/2019 2008 05 19 POO Utilizando JAVA
86/168
bolita y varias lneas que entran dependiendodel nmero de parmetros que requieren.
Ejemplo:
~
Ejemplo:
5
4
3
8
20
5 + 4 + 3 + 8 = 20
EJEMPLO DE PROCEDENCIA DE OPERADORES
8/14/2019 2008 05 19 POO Utilizando JAVA
87/168
Sea la expresin: x = 5 * 8 3 / 2 + 6 > 40
En esta se colocan debajo de cada operador su precedencia
x = 5 8 3 2 6 40
como la precedencia va de izquierda a derecha y de mayor a menor lasoperaciones se ejecutan como sigue:
5 * 8 - 3 / 2 + 6 > 40
La precedencia se cambia con parntesis. Ejemplo:
*3
-4
/3
+4
>6
5 * 8 + 4
3 4
5 * (8 + 4)
3 1 4
5 * 8 + 4 5 * (8 + 4)
Promocin
8/14/2019 2008 05 19 POO Utilizando JAVA
88/168
La Promocin se hace automticamente en Java cuando se aplica algn operador,se asigna el tipo ms grande a los operadores que aparecen en la expresin,
por ejemplo se estn sumando un int con un float, la suma se efectua promoviendoel int a float y de esta forma el resultado es float
Si se tiene:
int x ;double y , PI = 3.1416;
x = 5;
y = x + PI;
en este caso se promociona xal tipo doubleantes de hacer la suma,la promocin es automtica
Disfraz (casting)
8/14/2019 2008 05 19 POO Utilizando JAVA
89/168
( g)
Un Casting se utiliza cuando se quiere cambiar el tipo de un resultadodiferente al que se obtiene normalmente, por ejemplo int cuando el resultado es float.
El tipo de dato del casting se escribe entre parntesis
Si se tiene:
int x ;double y , PI = 3.1416;
x = (int) PI;
en este caso disfraza a PIde tipo intpara asignarle valor a Xaunquese pierde precisin (los decimales se pierden en este caso)
Si fuera al revs de un inta un floatno se pierde precisin y no es
necesario hacer el casting porque se hace una promocin
Disfraz (casting)
8/14/2019 2008 05 19 POO Utilizando JAVA
90/168
( g)
Un Casting se utiliza en Vector para reasignar la clase de un Objeto quetiene almacenado
Si se tiene un Vector, para recuperar un elemento se hace un casting:
Cliente juan ;Vector clientes = new Vector();
juan = (Cliente)clientes.get(2);
clientes.get(2) me devuelve el Object de la posicin 2 del vector.
Vector es un arreglo dinmico de objetos numerados desde cero hasta n1. El tamao del vector se conoce con el mtodo size().
Bsqueda de un dato en un Vector
8/14/2019 2008 05 19 POO Utilizando JAVA
91/168
q
Si se tiene un Vector, para recuperar un elemento se hace un casting:
String busco = juan ;Vector clientes = new Vector(9843);
int i ;
for( i = 0; i < clientes.size(); i++ ){
Cliente cte = (Cliente)clientes.get(i);
if( cte.getNombre().equals(busco) == true)
break;
}
if( i < clientes.size() )
System.out.println(ENCONTRE AL CLIENTE + busco);
Bsqueda de un dato en un Vector
8/14/2019 2008 05 19 POO Utilizando JAVA
92/168
q
Si se tiene un Vector, para recuperar un elemento se hace un casting:
String busco = juan ;Vector clientes = new Vector(9843);
int i ;
for( i = 0; i < clientes.size(); i++ ){
if( ((Cliente)clientes.get(i)).getNombre().equals(busco) )
break;
}
if( i < clientes.size() )
System.out.println(ENCONTRE AL CLIENTE + busco);
8/14/2019 2008 05 19 POO Utilizando JAVA
93/168
8/14/2019 2008 05 19 POO Utilizando JAVA
94/168
Flujo de Control
Estructuras de Control
8/14/2019 2008 05 19 POO Utilizando JAVA
95/168
Secuencia
Las Estructuras de Contro l se utilizan para controlar el flujo de ejecucin delas instrucciones en los mtodos de Java.
Decisin
Iteracin
while
A
c
do-while
A
c
for
A
c
v=inicial
actualizav
Recursin
if
B
c
A
switch
e
A1 A2 A3
A
8/14/2019 2008 05 19 POO Utilizando JAVA
96/168
Estructuras de Paralelismo yConcurrencia
8/14/2019 2008 05 19 POO Utilizando JAVA
97/168
Excepciones
8/14/2019 2008 05 19 POO Utilizando JAVA
98/168
Jerarqua de Java de Excepciones
8/14/2019 2008 05 19 POO Utilizando JAVA
99/168
Jerarqua de Java de Excepciones
Las Excepciones se organizan en una Jerarqua, donde la clase Exception
es la de nivel superior, por lo que es comn para atrapar cualquier excepcincolocar Exception dentro del catch
Exception
ClassNotFoundException IOException
Excepciones Definidas por el Usuario
8/14/2019 2008 05 19 POO Utilizando JAVA
100/168
Excepciones Definidas por el Usuario
Una Excepcin Defin ida por el Usuariose hace
con una clase derivada de Exceptionen este ejemplo MiExcepcionse utiliza como culquier excepcin
Exception
MiExcepcion
8/14/2019 2008 05 19 POO Utilizando JAVA
101/168
Interfaz Grfica de Usuario (GUI)
GUIJLabel
8/14/2019 2008 05 19 POO Utilizando JAVA
102/168
Interfase
Grfica de
Usuario
(Graphical User Interface)
Componentes
Distribucin
Contenedores
Eventos
Sencillos
Complejos
JTextFieldJButtonJTextArea
JTable
JTree
FlowLayout
GridLayout
BorderLayoutnull
JFrame
JApplet
CanvasActionListener
MouseListener
KeyListener
8/14/2019 2008 05 19 POO Utilizando JAVA
103/168
Interfase Hombre-Mquina
AWT (Abstract Window Toolkit): clase Frame
Swing: clase JFrame
Las Interfases Grficas de Usuario (GUI) se implementanen Java con las clases AWT y Swing
Es mejor usar Swing porque sustituye a la AWT desde la versin 1.1
Generalmente los programas de consola GUIse derivan de la clase Frame o JFrame
8/14/2019 2008 05 19 POO Utilizando JAVA
104/168
Ejemplos03-GUI
En los ejemplos que acompaan esta presentacin hay ejemplos enla carpeta 03-GUI donde se encuentran componentes y eventos;
tanto de AWT como de Swing
8/14/2019 2008 05 19 POO Utilizando JAVA
105/168
Interfase Hombre-Mquina
AWT: clase Applet
Swing: clase JApplet
Las Interfases Grficas de Usuario (GUI) que se ejecutanen un Navegador de Internet se derivan de la clase Applet o JApplet
8/14/2019 2008 05 19 POO Utilizando JAVA
106/168
Eventos
8/14/2019 2008 05 19 POO Utilizando JAVA
107/168
Eventos
KeyListenerMouseListener
MouseMoveListener
8/14/2019 2008 05 19 POO Utilizando JAVA
108/168
Applets
8/14/2019 2008 05 19 POO Utilizando JAVA
109/168
Ejemplos04-Applet
Los ejemplos de Applets se encuentran en la carpeta 04-Applettanto de AWT como de Swing
8/14/2019 2008 05 19 POO Utilizando JAVA
110/168
Applet
Se sugiere que los Applets sean pequeos por eltiempo de transferencia y carga que emplean antes de su ejecucin
8/14/2019 2008 05 19 POO Utilizando JAVA
111/168
Graficacin 2D, 3D y dimensin Fractal
06-2D07-3D
05-ecuacion
Los ejemplos de Graficacin en 2D, 3D y dimensin Fractal se
encuentran en las carpetas 06-2D, 07-3D y 05-ecuacion en los Ejemplosque acompaan a esta presentacin
8/14/2019 2008 05 19 POO Utilizando JAVA
112/168
Paralelismo y Concurrencia
8/14/2019 2008 05 19 POO Utilizando JAVA
113/168
Paralelismo y Concurrencia
Thread
Los ejemplos de ParalelismoyConcurrencia en Java se encuentran enla carpeta 08-hebra en los Ejemplos que acompaan a esta presentacin.Se tiene paralelismo real cuando se cuenta con varios procesadores
Hilo (Thread)
8/14/2019 2008 05 19 POO Utilizando JAVA
114/168
El diagrama de flujo representa un proceso.Un Hilo (thread) es el flujo de ejecucin de un proceso.
Las lneas de colores representan diferentes hilos (threads) del proceso.
Proceso Multihilo (Multithread)
8/14/2019 2008 05 19 POO Utilizando JAVA
115/168
Es cuando de un mismo proceso se encuentran enejecucin varios hilos (threads) simultneamente
(paralelismo)
run()
main()
8/14/2019 2008 05 19 POO Utilizando JAVA
116/168
Redes
8/14/2019 2008 05 19 POO Utilizando JAVA
117/168
8/14/2019 2008 05 19 POO Utilizando JAVA
118/168
8/14/2019 2008 05 19 POO Utilizando JAVA
119/168
Arquitectura cliente/servidor
8/14/2019 2008 05 19 POO Utilizando JAVA
120/168
SERVIDOR CLIENTE
ServerSocket servicio
Socket
Servidor
IPpuerto
Socket
ServidorIP
puerto
ClienteIP
puerto
PrintStream salida DataInputStream entrada
DataInputStream entrada PrintStream salida
LECTURA
String dato = entrada.readline();
ESCRITURA
salida.println(mensaje);
Nota: si se usa Printstream, cadamensaje debe terminar con \n
ServidorIP
puerto
ClienteIP
puerto
8/14/2019 2008 05 19 POO Utilizando JAVA
121/168
Comunicacin Cliente/Servidor
8/14/2019 2008 05 19 POO Utilizando JAVA
122/168
En la comunicacin cliente/servidor existen tres etapas:
DECLARACIN
Se establecen lossockets y los flujos de
entrada y salida
CONEXIN
Se hace en dos partes:servidor que esperacliente que enlaza
INTERACCIN
Se usan los flujos deentrada y salida para
leer y escribir
Cliente/Servidor Multithread
8/14/2019 2008 05 19 POO Utilizando JAVA
123/168
Server Socket
SERVIDOR CLIENTE
Escucha
run () enviar ()
recibe ()enviar ()
enviar ()
8/14/2019 2008 05 19 POO Utilizando JAVA
124/168
Base de Datos con Java (JDBC)
8/14/2019 2008 05 19 POO Utilizando JAVA
125/168
Acceso a Base de Datos (JDBC)
ClassDriverManager
ConnectionStatementResultSet
Los ejemplos de Acceso a Base de Datos con JDBC se encuentranen la carpeta 10-bd en los Ejemplos que acompaan a esta presentacin
BASE DE DATOS CON JAVA
8/14/2019 2008 05 19 POO Utilizando JAVA
126/168
Una base de datos es una coleccin de datos interrelacionados donde se tieneuna mnima redundancia y se garantiza la integridad y seguridad.
Se considera formada por un conjunto de tablas y de ndices.Cada tabla est formada por varios atributos y registros llamados tuplas.
Los nombres de tablas con sus atributos dan origen al llamado Esquema de laBD.
Mediante los ndices se logra un acceso ms rpido a la informacin que una
bsqueda secuencial.
BD
Persona rfc
Pasatiempo
TABLAS
8/14/2019 2008 05 19 POO Utilizando JAVA
127/168
Esquema de la BD (Diccionario de datos)PersonaRfc A 20 registro Federal de CausantesNombre A 50 nombre de la personaDireccin A 50 direccin donde vive
Telfono A 30 su telfono
PasatiempoClave A 3 clave del pasatiempoDescripcin A 30 descripcin del pasatiempoLugar A 20 lugar en que se lleva a cabo
PersonaRFC Nombre Direccin Lugar
Pasatiempo
Clave Descripcin Lugar
8/14/2019 2008 05 19 POO Utilizando JAVA
128/168
Sistema
Manejador deBase de Datos
BD
escribe lee
Esquema de la BD
Ejemplo:
Access
Oracle
Informix
MySQL
Postgress
ARQUITECTURA DE ACCESO A UNA BD USANDO JAVA
JDBC (Java Database Connectivity)
8/14/2019 2008 05 19 POO Utilizando JAVA
129/168
JDBC (Java Database Connectivity)
Driver Manager
odbc:jdbc
Aplicacin
JAVA
SMBD
BD
Esquema de la BD
8/14/2019 2008 05 19 POO Utilizando JAVA
130/168
8/14/2019 2008 05 19 POO Utilizando JAVA
131/168
8/14/2019 2008 05 19 POO Utilizando JAVA
132/168
8/14/2019 2008 05 19 POO Utilizando JAVA
133/168
Base de Datos Remota
BASE DE DATOS REMOTA
8/14/2019 2008 05 19 POO Utilizando JAVA
134/168
Driver Manager
odbc:jdbc
SERVIDOR
BD
SMBD
Access
SMBD
MySQL
SMBD
ORACLE
ESQUEMA DE LA
BD
cliente
INTERNET
SERVIDOR
HTML
htmlapplet
8/14/2019 2008 05 19 POO Utilizando JAVA
135/168
Servlets
Servlets
8/14/2019 2008 05 19 POO Utilizando JAVA
136/168
SERVIDORServlets
Servlet
navegador
navegador
navegador
INTERNET
CLIENTESERVIDOR
Navegador: Netscape, IExplorer, Firefox
invocacin yparmetros
HTML
Un Servletes un programa Java que simplifica el modelo Cliente/Servidor.
Se invoca desde un navegador de Internet mediante un archivo HTML,
se ejecuta en el servidor y genera una salida en formato HTML.
SERVLETS
8/14/2019 2008 05 19 POO Utilizando JAVA
137/168
CLIENTE SERVIDOR
Navegador
Servlet
Invocacin yparmetros
Mtodos de invocacinGET POST
html
Un Servlet se invoca con una liga o con un botn en una estructura de HTML.
Existen dos Mtodos de Invocacinde un Servlet: GET y POST.Con GET los parmetros son visibles en la lnea de direccin y ocupan un
mximo de 1024 bytes.
Con POST los parmetros se pasan por un socket interno y tienen mayorcapacidad
8/14/2019 2008 05 19 POO Utilizando JAVA
138/168
Ejemplo de un Servlet
8/14/2019 2008 05 19 POO Utilizando JAVA
139/168
Lectura de parmetros
Proceso
Resultados
Base de Datos con Servlets
CLIENTE SERVIDOR
8/14/2019 2008 05 19 POO Utilizando JAVA
140/168
Tomcat
CLIENTE SERVIDOR
html
html
html
htmlDriver Manager
odbc:jdbc
SMBD
Access
SMBD
MySQL
SMBD
ORACLE
ESQUEMA DE LABD
html
html
Servlet
SESIONES
8/14/2019 2008 05 19 POO Utilizando JAVA
141/168
Un objeto sesin (de la clase Sess ion )se almacena en elservidor para mantener la informacin del navegador durante
la comunicacin Cliente/Servidor
Session
SESIONES
8/14/2019 2008 05 19 POO Utilizando JAVA
142/168
Session
HTTP HTTP HTTP
Un Objeto Session (Sesin) almacena datos compartidos
entre diferentes pginas HTML.
Este objeto se almacena en el navegador y su periodo devida es: Page (pgina), Session (Sesin), Application
NAVEGADOR
Se recomienda consultar
8/14/2019 2008 05 19 POO Utilizando JAVA
143/168
http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/index.html
8/14/2019 2008 05 19 POO Utilizando JAVA
144/168
JSP
ARQUITECTURA JSP
(JAVA SERVER PAGES)
8/14/2019 2008 05 19 POO Utilizando JAVA
145/168
SERVIDOR WEB
AplicacinHTML + JSP
B
E
A
N
S
navegador
navegador
navegador
INTERNET
CLIENTE SERVIDOR
Navegador: Netscape, Iexplorer, Firefox
JSP
8/14/2019 2008 05 19 POO Utilizando JAVA
146/168
Los JSP se utilizan para generar pginas HTMLdinmicas mediante la incrustacin de cdigo fuente
JAVA en una pgina HTML.
Al ejecutar el JSP se sustituye el cdigo JAVA por suresultado quedando solamente una pgina HTML.
JSP
JSP
8/14/2019 2008 05 19 POO Utilizando JAVA
147/168
navegadorServidor WEB
JSP
Compilacin
(La primera vez)
Pgina html
html
1.- El navegador enva una pgina html
2.- El JSP lee los parmetros del archivo html (si es laprimera vez que se invoca se compila)
3.- Se procesa el archivo JSP y se genera la respuesta enotro archivo html
4.- El navegador despliega el archivo html que tiene larespuesta
Bean
8/14/2019 2008 05 19 POO Utilizando JAVA
148/168
get
get
set
Se llama Bean a una clase que cuenta con mtodos get y set paracada uno de las propiedades de la clase, adems de otros mtodos.
JSP que suma dos nmeros
8/14/2019 2008 05 19 POO Utilizando JAVA
149/168
Acceso a Base de Datos con JSP
8/14/2019 2008 05 19 POO Utilizando JAVA
150/168
BEANUn Bean es un componente software que tiene la particularidad de
8/14/2019 2008 05 19 POO Utilizando JAVA
151/168
p q pser reutilizable y as evitar la tediosa tarea de programar los
distintos componentes uno a uno. Se puede decir que existen conla finalidad de ahorrarnos tiempo al programar. Es el caso de lamayora de componentes que manejan los editores visuales mscomunes. Los que hayan utilizado Visual Studio, Eclipse o Delphi
por ejemplo, ya estarn familizarizados con ellos.
Bean viene del ingls "frijol", y su idea principal es que sereaprovechan "frijoles" que ya han sido creados por otros
desarrolladores. Sabiendo esto, un Bean puede representar desdeun botn, un grid de resultados, un panel contenedor o un simple
campo de texto, hasta otras soluciones mucho ms complejas
como conexiones a bases de datos, etc.Son bastante conocidas las EJB (Enterprise JavaBeans) que
ofrecen numerosos Beans para Java.
Referencias sobre BEAN
8/14/2019 2008 05 19 POO Utilizando JAVA
152/168
Define que son los JAVA BEANShttp://www.sc.ehu.es/sbweb/fisica/cursoJava/applets/javaBeans/intro.htm
Describe los EJBhttp://java.sun.com/products/ejb/
Diferencia entre Bean y EJBhttp://www.osmosislatina.com/java/ejb.htm
Interface Serializablehttp://www.chuidiang.com/java/rmi/rmiParametros.html#PAR%C1METROS_Serializ
able
Tutorial en Castellanohttp://www.programacion.com/java/tutorial/beans/8/
8/14/2019 2008 05 19 POO Utilizando JAVA
153/168
Abstraccin de Procesos
8/14/2019 2008 05 19 POO Utilizando JAVA
154/168
B
Con la Abs traccin de procesos se cambian losbloques de cdigo (B) repetidos por el llamado a una
rutina (proceso, funcin o mtodo)
Se simplifica el programa
B B
return
Abstraccin de Procesos
8/14/2019 2008 05 19 POO Utilizando JAVA
155/168
float areaCirculo(float r)
{ t1 = r * ra = t1 * 3.1416regresa a
}
lee r
t1 = r * ra = t1 * 3.1416desplega a
Una Rut inase crea asignndole un nombre a un grupo deinstrucciones
Cuando seinvoca se usa solamente el nombre con sus parmetros
Reutilizacin de Cdigo
8/14/2019 2008 05 19 POO Utilizando JAVA
156/168
Con los procesos abstractos es posible la Reutilizacin de Cdigoen variosProgramas o Sistemas al utilizarlos como una unidad probada
B
B
B
B
B
B
Abstraccin de Datos
8/14/2019 2008 05 19 POO Utilizando JAVA
157/168
Con la abstraccin de datosse ocultan los datosaccesndolos mediante procesos abstractos
Por ejemplo, en una Pila (stack), se aplican las procesos Push()o Pop() sin ocuparnos del tipo de dato del argumento
A
3.1415926
x = Pop()
Push(elefante)
8/14/2019 2008 05 19 POO Utilizando JAVA
158/168
Evolucin de la Realidad
Evolucin de las Plataformas de Desarrollo deSistemas
8/14/2019 2008 05 19 POO Utilizando JAVA
159/168
1960 1970 1980 1990 2000
COBOL
Lenguaje C
C++, Java
t
# usuarios
Evolucin de los Paradigmas deProgramacin
8/14/2019 2008 05 19 POO Utilizando JAVA
160/168
PROGRAMACIN FUNCIONALLispScheme
PROGRAMACIN LGICAPrologParlog
PROGRAMACIN ESTRUCTURADAAlgolC
PROGRAMACIN ORIENTADA A OBJETOSC++Java
PROGRAMACIN ORIENTADA A AGENTESen desarrollo
8/14/2019 2008 05 19 POO Utilizando JAVA
161/168
Construyamos Sistemas Evolutivos
8/14/2019 2008 05 19 POO Utilizando JAVA
162/168
REALIDAD REALIDADREALIDAD
Sistema Evolutivo
Un Sistema Evolutivoes capaz de percibir la realidad paragenerar y mantener un modelo de la realidad en forma automtica
8/14/2019 2008 05 19 POO Utilizando JAVA
163/168
Proyecto Final
Conclusiones
8/14/2019 2008 05 19 POO Utilizando JAVA
164/168
El lenguaje Java es muy amplio en su funcionalidad y actualmentecontinua su desarrollo
Como se mencion antes, an estn en desarrollo otros paradigmas
As como el universo evoluciona, as estn evolucionando las herramientasy paradigmas de programacin
Es posible que el siguiente paradigma est en tu pensamiento
PROPONLO!
8/14/2019 2008 05 19 POO Utilizando JAVA
165/168
tlazokamati
8/14/2019 2008 05 19 POO Utilizando JAVA
166/168
tlazokamati
gracias a ti por leer estedocumento
www.jesusolivares.com
Clase Hola Amigos
8/14/2019 2008 05 19 POO Utilizando JAVA
167/168
Hola
public static main(String)
Main es publicporque debe ser visible desde afuera de la clase
Calculadora
limpia()
acumulador
suma(double)
resta(double)
por(double)
divide(double)
muestra()
Diagrama de clases
rbol binario
8/14/2019 2008 05 19 POO Utilizando JAVA
168/168
rbol binario
O insertaO busca
Nodo
O nodo
rbol