TEMA 02 Introducción A Java y POO UNMSM
TEMA 02 Introducción A Java y POO UNMSM
Introducción a Java y
Programación Orientado a Objetos
Edgard Oporto
2020 - I
Contenido
Tarea
1 - Fases de un proyecto informático
- Diseño
Modelamiento de la solución
- Codificación + compilación
- Depuración + pruebas
- Documentación
2 - Tipos de lenguajes
- Lenguaje de máquina
Consta de instrucciones del procesador, en binario o hexadecimal.
Es el programa tal cual se carga en memoria y tal cual lo ejecutará
el procesador.
Se puede “ver” con un editor binario, byte a byte.
- Lenguaje ensamblador
Consta de instrucciones (en nemónicos) fáciles de recordar.
Es prácticamente igual que el lenguaje de máquina pero con
diversas facilidades que los hacen más viable programar.
Consta de instrucciones al procesador o propias de ellas.
Canadá, 1955
3 - Historia de Java
- Java fue desarrollado en 1991 como parte de un proyecto de
set-top-box de Sun Microsystems.
TV
Teléfonos
Decodificadores
Microcontroladores
Tarjetas SIM
- Es de propósito general
- Programación móvil, J2ME – Java 2 Micro Edition
- Programación de aplicaciones web
- Permite:
➢ Mantención
➢ Extensión
➢ Reutilización
4 – Características de Java
a) El 97% de los escritorios empresariales ejecutan Java.
b) El 89% de los escritorios (o computadoras) en Estados Unidos ejecutan
Java.
https://www.java.com/es/about/
4 – Características de Java
Java permite:
Dispositivos portátiles
https://www.java.com/es/about/
5 – Compilador e interprete Java
Compilador Interprete/JVM
Dependiente del
hardware destino
Lenguaje compilado
6 – Lenguajes compilados vs interpretados
Lenguaje compilado
6 – Lenguajes compilados vs interpretados
Lenguajes compilados versus lenguajes interpretados
7 – Versiones y plataforma de Java
Java FX
Permite la creación de Rich Internet Applications, aplicaciones
web con características y capacidades de aplicaciones de
escritorio, incluyendo aplicaciones multimedia interactivas
7 – Versiones y plataforma de Java
Java 2 SDK
Incluye JRE + herramientas para el desarrolllo de aplicaciones
Java 2 JRE
Incluye JVM + clases para la ejecución de aplicaciones
7 – Versiones y plataforma de Java
Tipo de archivos
.jar
Archivo ZIP
Contiene clases, fuentes, etc.
.java
código fuente
.class
Archivo de código intermedio
(bytecode)
8 – Conceptos de programación orientada a objetos
- Paradigma de programación que emplea entidades virtuales
que modelan los objetos del mundo real y sus interacciones.
La resolución de problemas se
realiza mediante el modelo de
objetos.
8 – Conceptos de programación orientada a objetos
Objetos
Son entidades físicas o virtuales.
Se caracterizan por tener propiedades y responder ante eventos.
Los objetos interaccionan entre sí, mediante mensajes.
Métodos Representan el
comportamiento de los
objetos
8 – Conceptos de programación orientada a objetos
CLASE - Ejemplos de clases y objetos
OBJETO CLASE
Pedro Ser humano
María Ser humano
Auto placa 12345 Toyota Corolla
Auto placa 13458 Toyota Corolla
Cuenta corriente de Pedro Cuenta corriente
Métodos
➢ Depositar
➢ Girar
➢ Conocer saldo
8 – Conceptos de programación orientada a objetos
CLASE - Creación de OBJETOS
Se crean en el programa mediante un proceso llamado
instanciación de clases.
EJEMPLO
Suponer los siguientes objetos:
➢ El auto patente WF-4631 es una instancia de la clase Vehículo, o
sea, un objeto de esa clase
Un objeto tiene:
- Estado: dado por sus atributos
- Comportamiento: dado por sus métodos
8 – Conceptos de programación orientada a objetos
MENSAJES
Médico Paciente
Mensaje
Acción
(método)
8 – Conceptos de programación orientada a objetos
MENSAJES
Objeto 1 Objeto 2
DATOS DATOS
Métodos Métodos
Mensajes
DATOS DATOS
Métodos Métodos
Objeto 3 Objeto 4
8 – Conceptos de programación orientada a objetos
Paquetes
a) Entidad que engloba o contiene un conjunto de clases.
b) Las clases se almacenan u organizan en paquetes.
c) Un paquete puede contener sub-paquetes
d) Visibilidad/seguridad/acceso
- No públicos
Las clases del paquete no pueden ser usadas desde otro paquete
e) Se usa el operador punto ‘.’ para acceder a las clases o sub-paquetes de un paquete.
8 – Conceptos de programación orientada a objetos
Abstracción
a) Detalla los atributos de la clase.
b) Detalla qué puede hacer una clase (métodos).
c) No detalla la implementación (código) de los métodos.
Superclase
Subclases
Persona
Nombre
Dirección
RUT
MENSAJE
OBJETOS RESULTADOS
Sucesor
'A' 'B'
3 4
8 – Conceptos de programación orientada a objetos
Sobrecarga
Abstracción
Define entidades de forma muy general, abstracta, con sus características y
métodos más relevantes y comunes a todos los objetos que pueda
representar. Usados como clases padres para crear clases especializadas.
Encapsulación
Define entidades y oculta los detalles de su implementación.
Solo permite acceso, mediante permisos, a lo que sea necesario para ciertos
objetos o clases.
Modularidad
Empleo de objetos como módulos descentralizados y débilmente acoplados.
Herencia
Permite el reúso de las clases para creación de otras clases más
especializadas.
Tarea
Responder las preguntas siguientes.