Conceptos B ásicos para entender JAVA

Post on 03-Jan-2016

31 views 0 download

description

Conceptos B ásicos para entender JAVA. Algunos T érminos importantes sobre los que se fundamenta la programaci ón en JAVA. José Luis Redondo García. Grupo Quercus Engineering Software, UEX. CONCEPTOS CLAVE. Programaci ón Orientada a Objetos. M áquina Virtual Java. - PowerPoint PPT Presentation

Transcript of Conceptos B ásicos para entender JAVA

ALGUNOS TÉRMINOS IMPORTANTES SOBRE LOS QUE SE FUNDAMENTA LA

PROGRAMACIÓN EN JAVA

Conceptos Básicos para entender JAVA

JOSÉ LUIS REDONDO GARCÍA. GRUPO QUERCUS ENGINEERING SOFTWARE, UEX

E.T.S de Ingenieros de Telecomunicación - UPNA

22/11/2005

.2

CONCEPTOS CLAVE

PROGRAMACIÓN ORIENTADA A OBJETOS.MÁQUINA VIRTUAL JAVA.GESTIÓN DE MEMORIA Y RECOLECTOR DE

BASURA.

Paradigma de P.O.O

Paradigma estructurado o procedural: Los programas se dividen en procedimientos independientes con acceso total a los datos comunes.

Algortimos + Estructuras de Datos = Programas

Paradigma orientado a objetos: Los datos se consideran la parte más importante del programa. Los objetos modelan las características de los problemas del mundo real, su comportamiento ante estas caracteristicas y su forma de interactuar con otros elementos

Objetos + mensajes = Programas

Ejemplo: Tomarse un café en la panadería

Procedural: El cliente entra el la

panadería El cliente pasa detrás

de la barra El cliente prepara la

cafetera El cliente se sirve el

café El cliente se bebe el

café.

OO: El cliente entra en la

panadería El cliente pide un

café al “cafetero” El “cafetero” prepara

el café. El “cafetero” sirve el

café al cliente. El cliente se bebe el

café.

Programación Orientada a Objetos

Vehículo

Animal

Figura

ConceptoGeneralmente, una clase se puede definir como una descripción abstracta de un grupo de objetos, cada uno de los cuales tiene una serie de atributos, un estado específico y es capaz de realizar una serie de operaciones.

Clases

Atributos Operaciones Comportamiento

Lavadoramarcamodelocapacidad...

ProgramarPonerRopaCerrarPuertaLavar

Objetos

Concepto:Un objeto, no es más que una instancia de una clase. La instancia de una clase significa definir un objeto dándole valores a sus atributos y comportamiento, y realizando operaciones permitidas por la clase.

Valores de los atributos

Estado Identidad

ID:Lavadora

marca=“Lapava”capacidad=5estado=enjuagando

Programación Orientada a Objetos

Definición:La POO es un estilo de programación, donde todos los elementos que forman parte del problema se conciben como objetos, definiendo cuales son sus atributos y comportamiento, como se relacionan entre sí y como están organizadas.

Estructura Interna de un Objeto:

Atributos: Define el estado del objeto

Métodos: Define el comportamiento del objeto

Ventajas de P.O.O

Encapsulamiento: Permite la protección de ciertas partes de un objeto del acceso desde otros objetos externos

Herencia: Jerarquía de clases basada en la agrupación de atributos o métodos comunes

Polimorfismo: Tratamiento generalizado a todas las clases pertenecientes a una jerarquía de herencia.

Máquina Virtual Java

Es la base de que Java esté en todos sitios:

Código fuente

Compilador Java

Byte-codes

Win32 JVM

Código máquinaWin32

Macintosh JVM UNIX JVM

Código máquinaMacintosh

Código máquinaUNIX

Máquina Virtual Java

E.T.S de Ingenieros de Telecomunicación - UPNA

22/11/2005

.12

Máquina Virtual Java

Compilador tradicional

• Traslada sentencias alto-nivel a múltiples instrucciones.

• Creación de librerías como resultado de compilaciones previas.

• Juntando, se crea programa ejecutable.

Intérprete de ByteCodes

• Compilador Java

Traduce código fuente a código intermedio.

• Interprete de Java

Virtual Machine(JVM)

(ByteCodes interpretados (ejecutados))

E.T.S de Ingenieros de Telecomunicación - UPNA

22/11/2005

.13

Ventajas M.V.

No se interrumpe fácilmente.Evita sobreescribir o corromper memoria

mediante punteros.Manejo de excepciones.Verificación de ByteCodes (por ejemplo no

acceso ilegal de memoria).

E.T.S de Ingenieros de Telecomunicación - UPNA

22/11/2005

.14

Aplicaciones seguras ya que no acceden a zonas delicadas de memoria o de sistema

No existen punteros, no acceso a zonas delicadas de memoria.

Una applet no puede acceder al sistema, a los archivos de la persona que lo está viendo.

Ventajas M.V.

E.T.S de Ingenieros de Telecomunicación - UPNA

22/11/2005

.15

Java compila el código a un fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará.

Cualquier plataforma donde exista una JVM se puede ejecutar el código objeto independientemente de la máquina en el que ha sido generado.

Ventajas M.V.

Recolector de Basura

La memoria reservada dinámicamente que no se vaya a usar más debe ser liberada.

En otros lenguajes, esta liberación debe realizarla el propio programador.

La JVM dispone de un proceso que rastrea las operaciones de memoria: el Garbage Collector.

Verifica y libera la memoria que no se necesita

Se ejecuta automáticamente

Puede variar según la implementación de la JVM.

Recolector de Basura