Title: UNIVERSIDAD NACIONAL DE INGENIERA FACULTAD DE CIENCIAS Y SISTEMAS
1UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE
CIENCIAS Y SISTEMAS
- Programación Orientada a Objetos en Java.
- Ing. MSc. José R . Fuentes C.
2Historia de Java
- Fue desarrollado por Sun Microsystems en 1991, se
llamó Oak. - Creación de software para dispositivos
electrónicos (TV, VCR, tostadores). - En 1994 se escribe WebRunner (HotJava).
3Historia de Java
- En 1994 se reescribe el compilador de Java en
Java a partir de su original en C. - Sun introduce Java en 1995 en la Sun World 95
convention.
4Qué es Java?
Es un lenguaje de POO, desarrollado por Sun
Microsystems, diseñado para ser pequeño, sencillo
y portátil a través de plataformas y sistemas
operativos, tanto a nivel de código fuente como
en binario
5Java, Internet y WEB
- Java está orientado al trabajo en redes
- Los programas Java se ejecutan en la WEB
- Internet es una red publica que brinda
información a nivel mundial - La WEB es una serie de protocolos de comunicación
para proveer información
6Características de Java
- Simple.
- Orientado a objetos.
- Distribuido
- Robusto.
- Arquitectura neutral.
7Características de Java
- Seguro.
- Portable
- Interpretado.
- Multihilos.
- Dinámico.
8Instalación de Java
- El programa de instalación se encuentra en el CD
- Seguir los siguientes pasos
- Copiar el archivo a su máquina
- Ejecutar el archivo jdk1_2_3-000-win.exe
9Instalación de Java
- Agregar las variables de entorno
- Seleccionar la variable PATH
- Adicionar C\jdk1.2.3\bin
- LEER INSTALACION ECLIPSE!
10Tipos de Programas en Java
- Aplicaciones.- Los programas se ejecutan en
consolas - Applet.- Los programas se ejecutan en un browser
o navegador de la Web
11Creación y ejecución de programas en Java
12Primer programa en Java
1 class HolaMundo 2
3 public static void main (String args
) 4 5
System.out.println("HolaMundo!") 6
7
13Compilación en Java
javac HolaMundo.java
14Ejecución del programa
java HolaMundo
15Creación y ejecución de programas en Java
16Tipos de Datos
- Tipos de datos
- Primitivos
- Datos definidos por el usuario
- Alcance
- Declaración de arreglo
17Tipos de datos (atributos)
- Primitivos
- Definidos por el usuario
18Primitivos
- Son los tipos que se manejan en C y C
- boolean
- char 16-bit unicode
- byte 8-bit -128 , 127
- short 16-bit -2 15 , 2 15 -1
- int 32-bit -2 31 , 2 31 -1
- long 64-bit -2 63 , 2 63 -1
- float 32-bit IEEE754
- double 64-bit IEEE754
- void
19Tipos definidos por el usuario
- Es una clase que se instancia (objeto).
- Esto permite que se utilicen los atributos y
métodos - En este caso se tiene un referencia a un objeto
20Sintaxis
- ModoAcceso Tipo C-I Tipo Nombre valor
- Ejemplos
- public static int variable 10
- private static char tema8
- protected static double pasos23.2
21Alcance
- La declaración de los tipos de datos (atributos)
sólo son reconocidos en donde fueron declarados.
Es decir, las llaves delimitan su alcance -
- atributos
22Arreglos (Arrays)
- Es un nombre que identifica a un número de datos
del mismo tipo - Tipo variable inicialización
23Tipos de Datos Ejemplo
- public class Tipos
-
- / tipos primitivos/
- int a 32000
- short b 200
- byte c123
- long da2
- char e'd'
- public void mian(String args)
-
- Tipos tnew Tipos()
- System.out.println("Los tipos de
son"t.a" "t.b" "t.c" "t.d" "t.e) -
-
24 Hardware y Software?
- Hardware
- Lo físico, partes tangible de una computadora
- teclado, monitor, discos, alambres, chips, etc.
- Software
- Programas y datos.
- Un programa es una serie de instrucciones
- Una computadora requiere ambos hardware y
software - Cada uno es esencial para el otro.
25Categorías de Software
- Sistemas Operativos
- Controla todas las actividades de las maquinas
- Provee la interface de usuario en la computadora
- Maneja los recursos como el CPU y la memoria
- Programas de Aplicación
- Termino genérico de otro tipo de software
- Editor de texto, word, sistema de control de
misiles control , juegos. - Mayoría de sistemas operativos y las aplicaciones
tienen una interface de usuario o (GUI) graphical
user interface
26Memoria
27Almacenamiento de la Información
9278 9279 9280 9281 9282 9283 9284 9285 9286
10011010
28- Que es un programa?
- Que es un dato?
Programa
Resultado
Dato
29Lenguaje de Programación de Alto Nivel
- El mas común hoy en día
- Fácil de Usar
- Debe ser traducido a lenguaje de maquina con el
compilador (compiler)
30Como funciona?
- Compiler
- Traduce el código en un lenguaje equivalente a
otro lenguaje - Código Fuente ? Código Blanco ? ejecutar código
Blanco - Interpretador
- Intercambia traducción y ejecución, declaración
por declaración.
31Como Java traduce y ejecuta un programa.
crear en editor
Java código fuente
Java bytecode
Java compiler
Bytecode compiler
Java interpreter
Note Java bytecode puede correr en cualquier
sistema Operativo siempre y cuando el Entorno de
Ejecución de Java (Java Runtime Environment, JRE)
este instalado. Escríbalo una vez,
córralo donde quiera
Código Maquina
32Un simple programa en Java
- /
- Este programa es llamado HolaMundo.java
- /
- public class HolaMundo
-
- //método principal
- public static void main (String args)
-
- System.out.println(Hola Mundo!)
- //final del main method
- //final del programa
33Programa Darío, Inspiración.
//
// Dario.java Autor
Sistemas/RUPAP // // Demuestra la estructura
básica de una aplicación en Java. //
public class Dario //-----------------------
------------------------------ // Imprime un
citado de inspiración. //----------------------
------------------------------- public static
void main (String args)
System.out.println ("Un citado de Rubén
Darío") System.out.println ("Si pequeña
es la Patria, uno grande la sueña.")
34Identificadores en Java
-
- Incluye
- Variable y nombres constantes que usamos en un
programa - Palabras reservadas usadas en Java
- Constantes y nombres de variables de la Librería
Estándar Java (Java Standard Library)
35Escogiendo identificadores validos
- Contienen cualquier combinación de letras,
números, signo del subrayado o signo del dólar - tasa_impuesto, tasaImpuesto2003, cantidad
- Debe comenzar con una letra, signo de subrayado,
o signo del dólar pero NUNCA con un numero. - Mi401Cuenta, _Mi401Cuenta, Mi401Cuenta
- NUNCA 401Cuenta
- Es sensitivo a la mayúsculas y minúsculas.
- Grado, grado, GRADO no son los mismos
- No tiene un máximo de longitud
- No dejar espacio en Blanco
- No se puede usar palabras reservadas o
identificadores de la librería Estándar - Ej class, public, static, void, println
36Palabras Reservadas en Java
abstract boolean break byte case catch char class
const continue default do double
else enum extends false final finally float for go
to if implements import instanceof
int interface long native new null package private
protected public return short static
strictfp super switch synchronized this throw thro
ws transient true try void volatile while
37Escogiendo BUENOS identificadores muy
importante!
- Descriptivo y único
- Fácil de escribir sin errores
- No muy largo
- No muy corto evite 1 o 2 letras
- Evite comenzar con signo de subrayado
- Variables deben empezar con letras minúscula y
usar Mayúsculas para palabras separadas - Constantes debe usar Mayúsculas.
38Cual de los siguientes son legales, cuales son
legales pero no recomendables y cuales no son
legales?
- averajeEstudiante
- 2ndLugar
- rmx4 5 ti9 0 8 7
- Grado
- carga
m numDeDias interest_rate_Jan_20 0 2
tasadias cuentabanano
CuentaMamalParaManaguaEnFebrero20 0 4
39Tipos de Errores
- Errores de tiempo de compilación
- Errores de Tiempo de Ejecución (Run-time)
- Excepciones
- Errores Lógicos
- Depuración (Debugging)
40Desarrollo Básico de un Programa
Editar y salvar programa
Compilar programa
Ejecutar programa y evaluar resultados
41Un Proceso de Desarrollo de un Programa mas
completo
Comprender el problema
Planear la lógica
Hacer el Código
Compilar
Probar el programa
Ponerlo a producir
42Resolviendo un Problema
- La finalidad de escribir un programa es resolver
un problema - Resolver un problema consiste en múltiples
actividades - Comprenda el problema
- Diseñe una solución
- Considere alternativas y refine la solución
- Implemente la solución
- Pruebe la solución
- Estas actividades no son puramente lineales se
entre cruzan y se interactúan.
43Resolviendo un Problema
- La llave de diseñar una solución es descomponer
el problema en piezas manejables - Cuando escriba un software, diseñamos piezas
separadas que son responsables de ciertas partes
de la solución - Un entendimiento Orientado a Objetos conlleva el
mismo una solución de composición de piezas - Nosotros tenemos que desmembrar nuestras
soluciones en piezas llamadas objetos y clases
44Programación Orientada a Objetos POO
- Java es un lenguaje orientado a objetos (OO)
- Objetos puede ser usados para representar
entidades del Mundo real - Por ejemplo, un objeto puede representar un
empleado en particular en una compañía. - Cada empleado es un objeto que maneja el
procesamiento de los datos referentes al empleado
45Objetos
- La entidad fundamental en la programación den
Java. - Desarrollamos software al definir objetos con los
cuales podemos interactuar y que interactúan con
otros.
mensajes
46Objetos
- Un objeto tiene
- estado - características descriptivas.
- comportamiento - que es lo que hace (o que es lo
que puede hacer) - El objeto estado de una cuenta de banco incluye
su numero de cuenta y su balance actual - El comportamiento asociado con la cuenta de banco
incluye la habilidad de hacer deposito y retiros. - Note que el comportamiento de un objeto puede
cambiar su estado.
47Objetos
Datos variables describen el estado
Un M é todo
Un Metodo
Otro Metodo
Metodos implementan el comportamiento
Y Otro Metodo
48Por ejemplo el objeto perro
Estado nombre color raza Vacunas nacimiento
ladra
corre
Mueve cola
Comportamiento Mueve cola Ladra Corre Come
come
49Clases
- Un objeto es definido por una clase
- Una clase es una matriz de un objeto
- Múltiples objetos se pueden crear de la misma
clase - Una fabrica de objetos
50Objetos y Clases
51- Otra forma de como ponerlo Un objeto es una
instancia de una clase.
52Definiendo las características de POO
- olimorfismo
- erencia
- ncapsulacion
P
H
E
53Polimorfismo
- Griego muchas formas
- Sencillamente significa que los resultados
de un método pueden variar dependiendo del objeto
que lo usa. - ---mas adelante así que sin pánico!
54Herencia
- Una clase puede derivarse de otra
- Clases pueden organizarse en jerarquías
55Encapsulación
- Un objeto debe proteger sus datos.
- Solo los métodos de un objeto deberían
permitirse el cambio de sus datos. - Auto gobernativo