SlideShare una empresa de Scribd logo
1 de 19
Java, conceptos y ejemplos de POO
Un poco de historia El lenguaje Java™ fue creado por Sun Microsystems Inc. en un proceso por etapas que arranca en 1990, año en el que Sun creó un grupo de trabajo, liderado por James Gosling, para desarrollar un sistema para controlar electrodomésticos e incluso PDAs o Asistentes Personales (pequeños ordenadores). El proyecto finalizó en 1992 y resultó un completo fracaso debido al excesivo coste del producto, con relación a alternativas similares, tras lo cual el grupo se disolvió. Por entonces aparece Mosaic y la World Wide Web. Después de la  disolución del grupo de trabajo, únicamente quedaba del proyecto el lenguaje Oak. Gracias a una acertada decisión de distribuir libremente el lenguaje por la Red de Redes y al auge y la facilidad de acceso a Internet, propiciado por la WWW, el lenguaje se popularizó y se consiguió que una gran cantidad de programadores lo depurasen y terminasen de perfilar la forma y usos del mismo.
El nombre del lenguaje tuvo que ser cambiado ya que existía otro llamado Oak. El nombre “Java” surgió en una de las sesiones de “brainstorming” celebradas por el equipo de desarrollo del lenguaje. Buscaban un nombre que evocara la esencia de la tecnología (viveza, animación, rapidez, interactividad …). Java fue elegido de entre muchísimas propuestas. No es un acrónimo, sino únicamente algo humeante, caliente y que a muchos programadores les gusta beber en grandes cantidades: una taza de café (Java en argot Inglés americano2). De esta forma, Sun lanzó las primeras versiones de Java a principios de 1995. ¿Qué es Java™? Java es un lenguaje de desarrollo de propósito general, y como tal es válido para realizar todo tipo de aplicaciones profesionales.  Entonces, ¿es simplemente otro lenguaje más? Definitivamente no. Incluye una combinación de características que lo hacen único y está siendo adoptado por multitud de fabricantes como herramienta básica para el desarrollo de aplicaciones comerciales de gran repercusión.
¿Qué lo hace distinto de los demás lenguajes? Una de las características más importantes es que los programas “ejecutables”, creados por el compilador de Java, son independientes de la arquitectura. Se ejecutan indistintamente en una gran variedad de equipos con diferentes microprocesadores y sistemas operativos. ,[object Object]
Permite escribir Applets (pequeños programas que se insertan en una página HTML) y se ejecutan en el ordenador local.
Se pueden escribir aplicaciones para intrarredes, aplicaciones cliente/servidor, aplicaciones distribuidas en redes locales y en Internet.
Es fácil de aprender y está bien estructurado.
Las aplicaciones son fiables. Puede controlarse su seguridad frente al acceso a recursos del sistema y es capaz de gestionar permisos y criptografía. También, según Sun, la seguridad frente a virus a través de redes locales e Internet está garantizada.,[object Object]
Funciona perfectamente en red.
Aprovecha características de la mayoría de los lenguajes modernos evitando sus inconvenientes. En particular los del C++.
Tiene una gran funcionalidad gracias a sus librerías (clases).
NO tiene punteros manejables por el programador, aunque los maneja interna y transparentemente.
El manejo de la memoria no es un problema, la gestiona el propio lenguaje y no el programador.,[object Object]
Incorpora Multi-Threading (para permitir la ejecución de tareas concurrentesdentro de un mismo programa). Esta ¿El lenguaje es Compilado o Interpretado? Ni una cosa ni la otra. Aunque estrictamente hablando es interpretado, necesita de un proceso previo de compilación. Una vez “compilado” el programa, se crea un fichero que almacena lo que se denomina bytecodes o j_code (pseudocódigo prácticamente al nivel de código máquina). Para ejecutarlo, es necesario un “intérprete”, la JVM (Java Virtual Machine) máquina virtual Java. De esta forma, es posible compilar el programa en una estación UNIX y ejecutarlo en otra con Windows95 utilizando la máquina virtual Java para Windows95. Esta JVM se encarga de leer los bytecodesy traducirlos a instrucciones ejecutables directamente en un determinado microprocesador, de una forma bastante eficiente.
Esta JVM se encarga de leer los bytecodes, y traducirlos a instrucciones  ejecutables directamente en un determinado microprocesador, de una forma bastante eficiente.
La Máquina Virtual Java (JVM). La máquina virtual Java es la idea revolucionaria4 del lenguaje. Es la entidad que proporciona la independencia de plataforma para los programas Java “compilados” en byte-code.
El entorno de desarrollo JDK. La herramienta básica para empezar a desarrollar aplicaciones o applets en Java es el JDK (Java Developer’s Kit) o Kit de Desarrollo Java, que consiste, básicamente, en un compilador y un intérprete (JVM) para la línea de comandos. No dispone de un entorno de desarrollo integrado (IDE), pero es suficiente para aprender el lenguaje y desarrollar pequeñas aplicaciones. ¿Dónde conseguirlo? El Kit de desarrollo puede obtenerse en las direcciones siguientes: · http://www.sun.com · http://www.javasoft.com El entorno para Windows95/NT está formado por un fichero ejecutable que realiza la instalación, creando toda la estructura de directorios. El kit contiene básicamente: · El compilador: javac.exe · El depurador: jdb.exe · El intérprete: java.exe y javaw.exe · El visualizador de applets: appletviewer.exe · El generador de documentación: javadoc.exe
¿Qué es un objeto? La respuesta a esta pregunta en términos ajenos a la programación parece simple. Un objeto es una persona, animal o cosa. Se distingue de otros objetos por tener unas determinadas características y “sirve” para algo, o dicho de otra forma, se pueden realizar distintas operaciones con/sobre ese objeto. Por ejemplo: Una casa es un objeto. CARACTERÍSTICAS: Número de pisos, altura total en metros, color de la fachada, número de ventanas, número de puertas, ciudad, calle y número donde está ubicada, etc. OPERACIONES: Construir, destruir, pintar fachada, modificar alguna de las características, como por ejemplo, abrir una nueva ventana, etc.
En terminología de programación orientada a objetos, a las  características del objeto se les denomina ATRIBUTOS y a las operaciones MÉTODOS. Cada uno de estos métodos es un procedimiento o una función perteneciente a un objeto. Clases y objetos. En la POO hay que distinguir entre dos conceptos íntimamente ligados, la CLASE y el OBJETO.

Más contenido relacionado

La actualidad más candente

Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragado
Maria
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicas
bat1820
 
Java kaime con
Java kaime conJava kaime con
Java kaime con
jtk1
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conpre
jtk1
 
CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVA
jesanchez5
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
alejandritasalva
 

La actualidad más candente (17)

Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragado
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicas
 
Java basico
Java basicoJava basico
Java basico
 
Java kaime con
Java kaime conJava kaime con
Java kaime con
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conpre
 
Ruben fuentes programacion_web
Ruben fuentes programacion_webRuben fuentes programacion_web
Ruben fuentes programacion_web
 
Hack x crack_java
Hack x crack_javaHack x crack_java
Hack x crack_java
 
T1 trabajo1navarrozuaraelisaramosruizpedro
T1 trabajo1navarrozuaraelisaramosruizpedroT1 trabajo1navarrozuaraelisaramosruizpedro
T1 trabajo1navarrozuaraelisaramosruizpedro
 
¿Qué es java?
¿Qué es java?¿Qué es java?
¿Qué es java?
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos Basicos
 
CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVA
 
Java presentation
Java presentationJava presentation
Java presentation
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
 
Pres1
Pres1Pres1
Pres1
 
Intro Java
Intro JavaIntro Java
Intro Java
 

Destacado

ConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En NetbeansConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En Netbeans
guest044583b
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
jent46
 

Destacado (20)

Tutorial programacion01
Tutorial programacion01Tutorial programacion01
Tutorial programacion01
 
Villanueva epigmenio
Villanueva epigmenio Villanueva epigmenio
Villanueva epigmenio
 
Instalación del modulo de Java ME en Netbeans
Instalación del modulo de Java ME en NetbeansInstalación del modulo de Java ME en Netbeans
Instalación del modulo de Java ME en Netbeans
 
Instalacion de java y NetBeans
Instalacion de java y NetBeansInstalacion de java y NetBeans
Instalacion de java y NetBeans
 
hola mundo
hola mundohola mundo
hola mundo
 
TECLAS CALIENTES
TECLAS CALIENTES TECLAS CALIENTES
TECLAS CALIENTES
 
Instalación de NetBeans
Instalación de NetBeansInstalación de NetBeans
Instalación de NetBeans
 
APLICACIONES MOVILES
APLICACIONES MOVILESAPLICACIONES MOVILES
APLICACIONES MOVILES
 
Tutorial netbeans
Tutorial netbeansTutorial netbeans
Tutorial netbeans
 
GUIA DE LABORATORIO DE INSTALACION Y CONFIGURACION DEL FRAMEWORK ZEND - PHP ...
GUIA DE LABORATORIO DE  INSTALACION Y CONFIGURACION DEL FRAMEWORK ZEND - PHP ...GUIA DE LABORATORIO DE  INSTALACION Y CONFIGURACION DEL FRAMEWORK ZEND - PHP ...
GUIA DE LABORATORIO DE INSTALACION Y CONFIGURACION DEL FRAMEWORK ZEND - PHP ...
 
NetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasNetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitas
 
Manual de Netbeans
Manual de NetbeansManual de Netbeans
Manual de Netbeans
 
ConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En NetbeansConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En Netbeans
 
JPA en Netbeans
JPA en NetbeansJPA en Netbeans
JPA en Netbeans
 
Encapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANSEncapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANS
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
 
2 POO Presentación
2 POO Presentación2 POO Presentación
2 POO Presentación
 
Eventos y listeners en Java Swing
Eventos y listeners en Java SwingEventos y listeners en Java Swing
Eventos y listeners en Java Swing
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Manejo de eventos en java
Manejo de eventos en javaManejo de eventos en java
Manejo de eventos en java
 

Similar a Java (20)

Introducción a java
Introducción a javaIntroducción a java
Introducción a java
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragado
 
Caracteristicas de Java
Caracteristicas de JavaCaracteristicas de Java
Caracteristicas de Java
 
Introduc java pre
Introduc java preIntroduc java pre
Introduc java pre
 
Java pre
Java preJava pre
Java pre
 
Lenguaje-de-programacion-JavaScript-1.pdf
Lenguaje-de-programacion-JavaScript-1.pdfLenguaje-de-programacion-JavaScript-1.pdf
Lenguaje-de-programacion-JavaScript-1.pdf
 
Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1
 
Mi Lenguaje de Programación Preferido
Mi Lenguaje de Programación PreferidoMi Lenguaje de Programación Preferido
Mi Lenguaje de Programación Preferido
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
JAVA 2
JAVA 2JAVA 2
JAVA 2
 
MANUAL DE JAVA
MANUAL DE JAVAMANUAL DE JAVA
MANUAL DE JAVA
 
Java desde cero
Java desde ceroJava desde cero
Java desde cero
 
MANUAL JAVA
MANUAL JAVA MANUAL JAVA
MANUAL JAVA
 
JAVA
JAVA JAVA
JAVA
 
PRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVAPRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVA
 
My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014
 
JAVA3.0
JAVA3.0JAVA3.0
JAVA3.0
 
Java basico
Java basicoJava basico
Java basico
 
Lenguaje de propagación java
Lenguaje de propagación javaLenguaje de propagación java
Lenguaje de propagación java
 
Java
JavaJava
Java
 

Más de Juan Raul Vergara

Fase3 d1 caso de estudio renta autos
Fase3 d1 caso de estudio renta autosFase3 d1 caso de estudio renta autos
Fase3 d1 caso de estudio renta autos
Juan Raul Vergara
 

Más de Juan Raul Vergara (20)

T&tabogados
T&tabogadosT&tabogados
T&tabogados
 
Documento de análisis sistema de información t&t abogados
Documento de análisis sistema de información t&t abogadosDocumento de análisis sistema de información t&t abogados
Documento de análisis sistema de información t&t abogados
 
Problema psicola
Problema psicolaProblema psicola
Problema psicola
 
PROBLEMA N 3
PROBLEMA N 3PROBLEMA N 3
PROBLEMA N 3
 
Problema Super Video.
Problema Super Video.Problema Super Video.
Problema Super Video.
 
Fase3 d1 caso de estudio renta autos
Fase3 d1 caso de estudio renta autosFase3 d1 caso de estudio renta autos
Fase3 d1 caso de estudio renta autos
 
Taller n 5
Taller n 5Taller n 5
Taller n 5
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 
Taller N 4
Taller N 4Taller N 4
Taller N 4
 
Taller N 4
Taller N 4Taller N 4
Taller N 4
 
Diagramas de Secuencia.
Diagramas de Secuencia.Diagramas de Secuencia.
Diagramas de Secuencia.
 
Taller N 3
Taller N 3Taller N 3
Taller N 3
 
Taller N 3
Taller N 3Taller N 3
Taller N 3
 
MATERIAL TALLER N3
MATERIAL TALLER N3MATERIAL TALLER N3
MATERIAL TALLER N3
 
Base de datos Objeto-Relacional.
Base de datos Objeto-Relacional.Base de datos Objeto-Relacional.
Base de datos Objeto-Relacional.
 
Ejemplo 1 Togas
Ejemplo 1 TogasEjemplo 1 Togas
Ejemplo 1 Togas
 
Plataforma
PlataformaPlataforma
Plataforma
 
Taller N 2 Arquitectura del Computador
Taller N 2 Arquitectura del ComputadorTaller N 2 Arquitectura del Computador
Taller N 2 Arquitectura del Computador
 
Temas Relacionados Web 2
Temas Relacionados Web 2Temas Relacionados Web 2
Temas Relacionados Web 2
 
TALLER 1 ARQ DEL PC
TALLER 1 ARQ DEL PCTALLER 1 ARQ DEL PC
TALLER 1 ARQ DEL PC
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Java

  • 1. Java, conceptos y ejemplos de POO
  • 2. Un poco de historia El lenguaje Java™ fue creado por Sun Microsystems Inc. en un proceso por etapas que arranca en 1990, año en el que Sun creó un grupo de trabajo, liderado por James Gosling, para desarrollar un sistema para controlar electrodomésticos e incluso PDAs o Asistentes Personales (pequeños ordenadores). El proyecto finalizó en 1992 y resultó un completo fracaso debido al excesivo coste del producto, con relación a alternativas similares, tras lo cual el grupo se disolvió. Por entonces aparece Mosaic y la World Wide Web. Después de la disolución del grupo de trabajo, únicamente quedaba del proyecto el lenguaje Oak. Gracias a una acertada decisión de distribuir libremente el lenguaje por la Red de Redes y al auge y la facilidad de acceso a Internet, propiciado por la WWW, el lenguaje se popularizó y se consiguió que una gran cantidad de programadores lo depurasen y terminasen de perfilar la forma y usos del mismo.
  • 3. El nombre del lenguaje tuvo que ser cambiado ya que existía otro llamado Oak. El nombre “Java” surgió en una de las sesiones de “brainstorming” celebradas por el equipo de desarrollo del lenguaje. Buscaban un nombre que evocara la esencia de la tecnología (viveza, animación, rapidez, interactividad …). Java fue elegido de entre muchísimas propuestas. No es un acrónimo, sino únicamente algo humeante, caliente y que a muchos programadores les gusta beber en grandes cantidades: una taza de café (Java en argot Inglés americano2). De esta forma, Sun lanzó las primeras versiones de Java a principios de 1995. ¿Qué es Java™? Java es un lenguaje de desarrollo de propósito general, y como tal es válido para realizar todo tipo de aplicaciones profesionales. Entonces, ¿es simplemente otro lenguaje más? Definitivamente no. Incluye una combinación de características que lo hacen único y está siendo adoptado por multitud de fabricantes como herramienta básica para el desarrollo de aplicaciones comerciales de gran repercusión.
  • 4.
  • 5. Permite escribir Applets (pequeños programas que se insertan en una página HTML) y se ejecutan en el ordenador local.
  • 6. Se pueden escribir aplicaciones para intrarredes, aplicaciones cliente/servidor, aplicaciones distribuidas en redes locales y en Internet.
  • 7. Es fácil de aprender y está bien estructurado.
  • 8.
  • 10. Aprovecha características de la mayoría de los lenguajes modernos evitando sus inconvenientes. En particular los del C++.
  • 11. Tiene una gran funcionalidad gracias a sus librerías (clases).
  • 12. NO tiene punteros manejables por el programador, aunque los maneja interna y transparentemente.
  • 13.
  • 14. Incorpora Multi-Threading (para permitir la ejecución de tareas concurrentesdentro de un mismo programa). Esta ¿El lenguaje es Compilado o Interpretado? Ni una cosa ni la otra. Aunque estrictamente hablando es interpretado, necesita de un proceso previo de compilación. Una vez “compilado” el programa, se crea un fichero que almacena lo que se denomina bytecodes o j_code (pseudocódigo prácticamente al nivel de código máquina). Para ejecutarlo, es necesario un “intérprete”, la JVM (Java Virtual Machine) máquina virtual Java. De esta forma, es posible compilar el programa en una estación UNIX y ejecutarlo en otra con Windows95 utilizando la máquina virtual Java para Windows95. Esta JVM se encarga de leer los bytecodesy traducirlos a instrucciones ejecutables directamente en un determinado microprocesador, de una forma bastante eficiente.
  • 15. Esta JVM se encarga de leer los bytecodes, y traducirlos a instrucciones ejecutables directamente en un determinado microprocesador, de una forma bastante eficiente.
  • 16. La Máquina Virtual Java (JVM). La máquina virtual Java es la idea revolucionaria4 del lenguaje. Es la entidad que proporciona la independencia de plataforma para los programas Java “compilados” en byte-code.
  • 17. El entorno de desarrollo JDK. La herramienta básica para empezar a desarrollar aplicaciones o applets en Java es el JDK (Java Developer’s Kit) o Kit de Desarrollo Java, que consiste, básicamente, en un compilador y un intérprete (JVM) para la línea de comandos. No dispone de un entorno de desarrollo integrado (IDE), pero es suficiente para aprender el lenguaje y desarrollar pequeñas aplicaciones. ¿Dónde conseguirlo? El Kit de desarrollo puede obtenerse en las direcciones siguientes: · http://www.sun.com · http://www.javasoft.com El entorno para Windows95/NT está formado por un fichero ejecutable que realiza la instalación, creando toda la estructura de directorios. El kit contiene básicamente: · El compilador: javac.exe · El depurador: jdb.exe · El intérprete: java.exe y javaw.exe · El visualizador de applets: appletviewer.exe · El generador de documentación: javadoc.exe
  • 18. ¿Qué es un objeto? La respuesta a esta pregunta en términos ajenos a la programación parece simple. Un objeto es una persona, animal o cosa. Se distingue de otros objetos por tener unas determinadas características y “sirve” para algo, o dicho de otra forma, se pueden realizar distintas operaciones con/sobre ese objeto. Por ejemplo: Una casa es un objeto. CARACTERÍSTICAS: Número de pisos, altura total en metros, color de la fachada, número de ventanas, número de puertas, ciudad, calle y número donde está ubicada, etc. OPERACIONES: Construir, destruir, pintar fachada, modificar alguna de las características, como por ejemplo, abrir una nueva ventana, etc.
  • 19. En terminología de programación orientada a objetos, a las características del objeto se les denomina ATRIBUTOS y a las operaciones MÉTODOS. Cada uno de estos métodos es un procedimiento o una función perteneciente a un objeto. Clases y objetos. En la POO hay que distinguir entre dos conceptos íntimamente ligados, la CLASE y el OBJETO.
  • 20. Ejemplo. De forma análoga a cómo se definen las variables en un lenguaje de programación, cuando se declara un objeto hay que definir el tipo de objeto al que pertenece. Este tipo es la CLASE. En C, se definen dos variables X e Y de tipo entero de la forma siguiente: int X,Y; En este caso, X e Y son variables, y el tipo de dichas variables es ENTERO. La forma de declarar objetos en Java es la misma: Ccasa casa1,casa2; En este caso, casa1 y casa2 son efectivamente variables, pero un tanto especiales, son OBJETOS. Además, el tipo de objetos es Ccasa. Este tipo es la CLASE del objeto5
  • 21. Explicación. Al declarar casa1 y casa2 como objetos pertenecientes a la clase Ccasa, se está indicando que casa1 y casa2 tendrán una serie de atributos (datos) como son nPuertas, nVentanas y color; y, además, una serie de métodos (operaciones que se pueden realizar sobre ellos) como son: abrirVentanas(), cerrarVentanas(), etc. Propiedades que debe cumplir un lenguaje para ser considerado Orientado a Objetos. · ENCAPSULAMIENTO. · HERENCIA. · POLIMORFISMO.
  • 22. Encapsulamiento. El encapsulamiento consiste en la propiedad que tienen los objetos de ocultar sus atributos, e incluso los métodos, a otras partes del programa u otros objetos. La forma natural de construir una clase es la de definir una serie de atributos que, en general, no son accesibles fuera del mismo objeto, sino que únicamente pueden modificarse a través de los métodos que son definidos como accesibles desde el exterior de esa clase.
  • 23. EXPLICACION. La forma normal de declarar la CLASE Ccasa consiste en definir una serie de atributos no accesibles desde cualquier parte del programa, sino únicamente a través de determinados métodos. Así, si se quiere abrir una nueva ventana en la casa casa1, la filosofía tradicional de un programador consistiría en realizar lo siguiente: casa1.N_VENTANAS := casa1.N_VENTANAS + 1; Sin embargo, la forma natural de hacerlo en POO es llamando al método casa1.abrirVentanas(1). Ese método (procedimiento) se encargará de incrementar en 1 el atributo nVentanas. Esto no quiere decir que el atributo nVentanas no pueda ser accedido de la forma tradicional (si se hubiera definido como “public”) pero, para que el lenguaje pueda ser considerado como OO, debe permitir la posibilidad de prohibir el acceso a los atributos directamente.
  • 24. Herencia. Es una de las principales ventajas de la POO. Esta propiedad permite definir clases descendientes de otras, de forma que la nueva clase (la clase descendiente) hereda de la clase antecesora todos sus ATRIBUTOS y MÉTODOS. La nueva clase puede definir nuevos atributos y métodos o incluso puede redefinir atributos y métodos ya existentes (por ejemplo: cambiar el tipo de un atributo o las operaciones que realiza un determinado método). Es la forma natural de definir objetos en la vida real. La mayoría de la gente diría, por ejemplo, que un chalet es una casa con jardín. Tiene las mismas características y propiedades u operaciones que pueden realizarse sobre una casa y, además, incorpora una nueva característica, el jardín. En otras ocasiones, se añadirá funcionalidad (métodos) y no atributos. Por ejemplo: un pato es un ave que nada. Mantiene las mismas características que las aves y únicamente habría que declarar un método sobre la nueva clase (el método nadar).
  • 25.
  • 26. Polimorfismo. El polimorfismo permite que un mismo mensaje enviado a objetos de clases distintas haga que estos se comporten también de forma distinta (objetos distintos pueden tener métodos con el mismo nombre o incluso un mismo objeto puede tener nombres de métodos idénticos pero con distintos parámetros).
  • 27. Explicación. Tiene dos métodos con el mismo nombre pero parámetros distintos. En el primer caso se inicializarán los atributos del objeto con los parámetros del método y en el segundo caso se inicializarán a cero, por ejemplo. Además, si tenemos dos objetos casa1 y chalet1 y se llama al método chalet1.abrirVentanas(2) se ejecutará el código del procedimiento abrirVentanas de la clase Cchalet y no de la clase Ccasa.