Está en la página 1de 28

Programación Orientada a

Objetos.

Programación Orientada a Objetos. Página 0.0 de 27


Objetivos del Curso
• Conocer y entender los principios de la Programación
Orientada a Objetos.

• Conocer la tecnología Java en general y en particular el


lenguaje orientado a objetos llamado Java.

• Obtener los conocimientos teórico-prácticos necesarios


para:
❖ Desarrollar y ejecutar programas de Java de complejidad
media.
❖ Poder utilizar las principales clases de la API de Java.

• Obtener los conocimientos necesarios para poder


estudiar el desarrollo de aplicaciones WEB usando la
tecnología Java EE.

Programación Orientada a Objetos. Página 0.1 de 27


Prerrequisitos

• Conocimientos generales de Programación de


Computadoras.

• Conocimiento de la Programación Estructurada.

Programación Orientada a Objetos. Página 0.2 de 27


Contenido
• Módulo 0 – Introducción a la Tecnología java.
• Módulo 1 – Conceptos Básicos de Programación
Orientada a Objetos.
• Módulo 2 – Identificadores, palabras clave y otros
conceptos básicos.
• Módulo 3 – Expresiones y estructura del programa.
• Módulo 4 – Manejo de Arreglos.
• Módulo 5 – Diseño de clases.
• Módulo 6 – Conceptos avanzados de clases.
• Módulo 7 – Manejo de Excepciones.

Programación Orientada a Objetos. Página 0.3 de 27


Contenido (2)
• Módulo 8 – Archivos y Colecciones.
• Módulo 9 – Manejo de Entrada/Salida (I/O).
• Módulo 10 – Conceptos Básicos de GUIs.
• Módulo 11 – Manejo de Eventos.
• Módulo 12 – Componentes, menús y aspectos visuales.
• Módulo 13 - Conceptos de Multithreading en Java.
• Módulo 14 – Conceptos de Networking.

• Proyecto Final. Desarrollo de una Aplicación en Java


con Interfaz Gráfica.

Programación Orientada a Objetos. Página 0.4 de 27


Módulo 0.

Introducción a la Tecnología
Java.

Programación Orientada a Objetos. Página 0.5 de 27


Objetivos.

• Entender qué es la Tecnología Java en sus diferentes


versiones.
• Distinguir los principales tipos de programas Java.

• Conocer los objetivos de diseño de Java.


• Entender como se logran los objetivos de diseño de
Java.

Programación Orientada a Objetos. Página 0.6 de 27


¿Qué es la Tecnología Java?

• Lenguaje de Programación.

• Ambiente de desarrollo.

• Ambiente de ejecución de aplicaciones.

• Ambiente de puesta en operación


(deployment) de aplicaciones.

Programación Orientada a Objetos. Página 0.7 de 27


Tres versiones.

• Java SE, Java Standard Edition


Conocida también como J2SDK, Standard Development Kit. Para
desarrollo y deployment de aplicaciones en Java. Es el fundamento
para las demás.

• Java EE. Java Enterprise Edition.


Para desarrollo y deployment en un Servidor de Aplicaciones de
aplicaciones empresariales basadas en Servlets, Java Server
Pages, Java Server Faces y Enterprise Java Beans.

• Java ME. Java Micro Edition.


Para desarrollo y deployment de aplicaciones de Java en
dispositivos móviles, como teléfonos, PDAs, TVs, etc.

Programación Orientada a Objetos. Página 0.8 de 27


Tipos de Programas Java.
• Aplicaciones.
Programas convencionales que corren bajo control del Sistema Operativo.

• Applets.
Programas que corren bajo un browser de Web (Explorer, Firefox, etc.).

• Java Beans.
Componentes (generalmente gráficos) que siguen una serie de
convenciones preestablecidas.

• Servlets.
Aplicaciones que se ejecutan en un Servidor de Aplicaciones que
implementa la edición Java EE y actúan como controladores.

Programación Orientada a Objetos. Página 0.9 de 27


Tipos de Programas Java (2).

• JSPs, Java Server Pages y JSFs, Java


Servers Faces.
Componentes tipo HTML que son convertidos a Servlets por el
Servidor de Aplicaciones.

• EJBs (Enterprise Java Beans).


Aplicaciones que se ejecutan en un Servidor de Aplicaciones que
implementan generalmente la lógica empresarial del Sistema.

Programación Orientada a Objetos. Página 0.10 de 27


Objetivos Primarios de Java.

• Facilidad de Uso.

• Portable entre plataformas diversas.

• Orientado a Objetos.

• Multithreading.

Programación Orientada a Objetos. Página 0.11 de 27


Facilidad de uso.

• Sintaxis basada en C++.

• Semántica basada en Smalltalk.

• Simplifica ambos lenguajes.

• Autodocumentable.

Programación Orientada a Objetos. Página 0.12 de 27


Portabilidad.

• Compilación e Interpretación.

• Corre en cualquier plataforma que soporte


una Máquina Virtual de Java.

Programación Orientada a Objetos. Página 0.13 de 27


Orientación a Objetos.

• Tecnología probada.

• Permite representar situaciones de la vida


real naturalmente.

• En Java todo se basa en clases y objetos.

Programación Orientada a Objetos. Página 0.14 de 27


Multithreading.

• Facilidades integradas en la API de Java.

• Permite aprovechar la velocidad del


procesador.

• Permite hacer programas complejos y


profesionales fácilmente.

Programación Orientada a Objetos. Página 0.15 de 27


Mecanismos Principales.

• Máquina Virtual de Java.

• Recolección de basura.

• Seguridad del código.

Programación Orientada a Objetos. Página 0.16 de 27


Máquina Virtual de Java.

“ Máquina imaginaria que es implementada


ya sea mediante emulación de software o
en una máquina real. El código que
ejecuta la máquina virtual se encuentra en
archivos .class que son resultado de la
compilación del programa fuente”

Programación Orientada a Objetos. Página 0.17 de 27


Máquina Virtual de Java (2).

• Contiene especificaciones de hardware.

➢ Instruction set
➢ Register set
➢ Stack
➢ Heap (“garbage-collected”)
➢ Memoria
➢ Formato de los archivos .class

Programación Orientada a Objetos. Página 0.18 de 27


Máquina Virtual de Java (3).

• Sus instrucciones son los “byte codes”,


resultado de la compilación.
• Se implementa normalmente en software
pero es posible en hardware.
• Se implementa como software en diversas
plataformas o en browsers de la Web.

Programación Orientada a Objetos. Página 0.19 de 27


Máquina Virtual de Java (4).

• El formato de los “byte codes” está


claramente especificado y es sencillo.
• Cada implementación de la JVM debe
poder ejecutar cualquier archivo .class.
• Existen implementaciones en muchas
plataformas: Unix, Windows, Mac,
Mainframes, etc.

Programación Orientada a Objetos. Página 0.20 de 27


Recolección de basura.

• Libera memoria no utilizada sin


intervención del programador.
(En otros lenguajes es responsabilidad del programador).

• Es un hilo de ejecución (thread) de la


Máquina Virtual.

• Se hace en forma totalmente automática.

Programación Orientada a Objetos. Página 0.21 de 27


Compilación y Seguridad del código.

Java compiler Java Runtime Environment

Hola.java Class Loader

RED
Byte Code Verifier
Compilador

Intérprete o
Hola.class Compilador JIT

Máquina de Máquina de
Desarrollo Ejecución

Programación Orientada a Objetos. Página 0.22 de 27


Java Runtime Environment.

• Carga el código del archivo .class


– Class loader

• Verifica que esté correcto.


– Bytecode verifier

• Ejecuta el código
– Runtime interpreter

Programación Orientada a Objetos. Página 0.23 de 27


Bytecode Verifier.

Nos asegura que:

• El código cumple las especificaciones de la


JVM.
• No viola la integridad del sistema.
• No causa overflows de memoria
• Los tipos de parámetros son los correctos
• No hay conversiones ilegales de datos.

Programación Orientada a Objetos. Página 0.24 de 27


Ejemplo de Aplicación.

// Programa mínimo de ejemplo


public class HolaMundo {
public static void main(String[ ] args) {
System.out.println(“Hola Mundo”);
}
}
Archivo HolaMundo.java

Programación Orientada a Objetos. Página 0.25 de 27


Compilación y Ejecución.
• Compilación:

javac HolaMundo.java

(produce archivo HolaMundo.class)

• Ejecución:

java HolaMundo

Programación Orientada a Objetos. Página 0.26 de 27


La API de java.
• Cientos de clases agrupadas en paquetes.

• Principales paquetes:

• java.lang
• java.awt
• java.net
• java.io
• java.util

Programación Orientada a Objetos. Página 0.27 de 27

También podría gustarte