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 agragadoMaria
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaSantiago Sora
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicasbat1820
 
Java kaime con
Java kaime conJava kaime con
Java kaime conjtk1
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conprejtk1
 
Ruben fuentes programacion_web
Ruben fuentes programacion_webRuben fuentes programacion_web
Ruben fuentes programacion_webYo Profesor
 
T1 trabajo1navarrozuaraelisaramosruizpedro
T1 trabajo1navarrozuaraelisaramosruizpedroT1 trabajo1navarrozuaraelisaramosruizpedro
T1 trabajo1navarrozuaraelisaramosruizpedroPedro Ramos
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos BasicosEmilio Aviles Avila
 
CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVAjesanchez5
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonalejandritasalva
 

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

Tutorial programacion01
Tutorial programacion01Tutorial programacion01
Tutorial programacion01Jenny Zambrana
 
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 NetbeansEduardo del Angel
 
TECLAS CALIENTES
TECLAS CALIENTES TECLAS CALIENTES
TECLAS CALIENTES 0504002817
 
Instalación de NetBeans
Instalación de NetBeansInstalación de NetBeans
Instalación de NetBeansPedro Mesía
 
Tutorial netbeans
Tutorial netbeansTutorial netbeans
Tutorial netbeansMarthaa Hdz
 
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 ...Ivan Petrlik
 
NetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasNetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitasFelipe Cerda
 
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 Netbeansguest044583b
 
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 NETBEANSWilliam Diaz S
 
2 POO Presentación
2 POO Presentación2 POO Presentación
2 POO Presentaciónguest7b7e934
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
Manejo de eventos en java
Manejo de eventos en javaManejo de eventos en java
Manejo de eventos en javaaleja09_40
 

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

Introducción a java
Introducción a javaIntroducción a java
Introducción a javawaldinelly
 
Java completo y agragado
Java completo y agragadoJava completo y agragado
Java completo y agragadoMaria
 
Caracteristicas de Java
Caracteristicas de JavaCaracteristicas de Java
Caracteristicas de JavaLuzRom
 
Java pre
Java preJava pre
Java prejtk1
 
Introduc java pre
Introduc java preIntroduc java pre
Introduc java prejtk1
 
Lenguaje-de-programacion-JavaScript-1.pdf
Lenguaje-de-programacion-JavaScript-1.pdfLenguaje-de-programacion-JavaScript-1.pdf
Lenguaje-de-programacion-JavaScript-1.pdfJaviMartin21
 
Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1giancarlos
 
Mi Lenguaje de Programación Preferido
Mi Lenguaje de Programación PreferidoMi Lenguaje de Programación Preferido
Mi Lenguaje de Programación Preferidostylee4799
 
PRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVAPRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVANoralma Yanez
 
My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014Neptuno Networks
 
Lenguaje de propagación java
Lenguaje de propagación javaLenguaje de propagación java
Lenguaje de propagación javajocelin11aguillon
 

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
 
Java pre
Java preJava pre
Java pre
 
Introduc java pre
Introduc java preIntroduc java pre
Introduc 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 desde cero
Java desde ceroJava desde cero
Java desde cero
 
MANUAL JAVA
MANUAL JAVA MANUAL JAVA
MANUAL JAVA
 
JAVA
JAVA JAVA
JAVA
 
JAVA 2
JAVA 2JAVA 2
JAVA 2
 
MANUAL DE JAVA
MANUAL DE JAVAMANUAL DE JAVA
MANUAL DE 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 (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

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 

Último (20)

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 

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.