170 likes | 396 Views
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.
E N D
Conceptos Básicos para entender JAVA Algunos Términos importantes sobre los quese 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. • Gestión de memoria y Recolector de Basura. E.T.S de Ingenieros de Telecomunicación - UPNA
Paradigmade P.O.O • Paradigmaestructuradoo procedural: Los programas se dividen en procedimientosindependientes con acceso total a los datoscomunes. Algortimos + Estructuras de Datos = Programas • Paradigmaorientado a objetos: Los datos se consideran la parte másimportante del programa. Los objetosmodelanlascaracterísticas de los problemas del mundo real, sucomportamiento ante estascaracteristicasysu forma de interactuar con otroselementos Objetos + mensajes = Programas
OO: El clienteentra en la panadería El clientepide un café al “cafetero” El “cafetero” prepara el café. El “cafetero” sirve el café al cliente. El cliente se bebe el café. Ejemplo: Tomarse un café en la panadería • Procedural: • El clienteentra el la panadería • El clientepasadetrás de la barra • El clienteprepara la cafetera • El cliente se sirve el café • El cliente se bebe el café.
Programación Orientada a Objetos Figura Vehículo Animal
Lavadora marca modelo capacidad... Programar PonerRopa CerrarPuerta Lavar Clases • Concepto Generalmente, 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. • Atributos • Operaciones • Comportamiento
ID:Lavadora marca=“Lapava” capacidad=5 estado=enjuagando 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
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 ciertaspartes de un objeto del accesodesdeotrosobjetosexternos • Herencia: Jerarquía de clasesbasada en la agrupación de atributosométodoscomunes • Polimorfismo: Tratamientogeneralizado a todaslasclasespertenecientes a unajerarquía de herencia.
Máquina Virtual Java Es la base de que Java esté en todos sitios:
Compilador Java Byte-codes Win32 JVM Macintosh JVM UNIX JVM Código máquina Win32 Código máquina Macintosh Código máquina UNIX Máquina Virtual Java Código fuente
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)) Máquina Virtual Java E.T.S de Ingenieros de Telecomunicación - UPNA
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
Ventajas M.V. • 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. E.T.S de Ingenieros de Telecomunicación - UPNA
Ventajas M.V. • 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. E.T.S de Ingenieros de Telecomunicación - UPNA
Recolector de Basura • La memoriareservadadinámicamenteque no se vaya a usarmásdebe ser liberada. • En otroslenguajes, estaliberacióndeberealizarla el propioprogramador. • La JVM dispone de un procesoquerastrealasoperaciones de memoria: el Garbage Collector. • Verificaylibera la memoriaque no se necesita • Se ejecutaautomáticamente • Puedevariarsegún la implementación de la JVM.