Java, conceptos y ejemplos de POO
Un poco de historiaEl 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.De momento, es público. Puede conseguirse un JDK (Java Developer's Kit) o Kit de desarrollo de aplicaciones Java gratis. No se sabe si en un futuro seguirá siéndolo.
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.¿Qué se puede programar con Java?Si tenía preconcebida la idea de que con Java sólo se programan applets para páginas web, está completamente equivocado. Ya que Java es un lenguaje de propósito general, puede programarse en él cualquier cosa:Aplicaciones independientes. Como con cualquier otro lenguaje de propósito general.Applets. Pequeñas aplicaciones que se ejecutan en un documento HTML, siempre y cuando el navegador soporte Java, como ocurre con los navegadores HotJava y las últimas versiones de Netscape y el explorador de Internet de Microsoft.Características del lenguaje.Es intrínsecamente orientado a objetos.
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.Genera aplicaciones con pocos errores posibles.
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 determinadomicroprocesador, 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.comEl 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 CLASEy el OBJETO.

Java

  • 1.
    Java, conceptos yejemplos de POO
  • 2.
    Un poco dehistoriaEl 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 dellenguaje 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.
    ¿Qué lo hacedistinto 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.De momento, es público. Puede conseguirse un JDK (Java Developer's Kit) o Kit de desarrollo de aplicaciones Java gratis. No se sabe si en un futuro seguirá siéndolo.
  • 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 escribiraplicaciones para intrarredes, aplicaciones cliente/servidor, aplicaciones distribuidas en redes locales y en Internet.
  • 7.
    Es fácil deaprender y está bien estructurado.
  • 8.
    Las aplicaciones sonfiables. 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.¿Qué se puede programar con Java?Si tenía preconcebida la idea de que con Java sólo se programan applets para páginas web, está completamente equivocado. Ya que Java es un lenguaje de propósito general, puede programarse en él cualquier cosa:Aplicaciones independientes. Como con cualquier otro lenguaje de propósito general.Applets. Pequeñas aplicaciones que se ejecutan en un documento HTML, siempre y cuando el navegador soporte Java, como ocurre con los navegadores HotJava y las últimas versiones de Netscape y el explorador de Internet de Microsoft.Características del lenguaje.Es intrínsecamente orientado a objetos.
  • 9.
  • 10.
    Aprovecha características dela mayoría de los lenguajes modernos evitando sus inconvenientes. En particular los del C++.
  • 11.
    Tiene una granfuncionalidad gracias a sus librerías (clases).
  • 12.
    NO tiene punterosmanejables por el programador, aunque los maneja interna y transparentemente.
  • 13.
    El manejo dela memoria no es un problema, la gestiona el propio lenguaje y no el programador.Genera aplicaciones con pocos errores posibles.
  • 14.
    Incorpora Multi-Threading (parapermitir 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 seencarga de leer los bytecodes, y traducirlos a instrucciones ejecutables directamente en un determinadomicroprocesador, de una forma bastante eficiente.
  • 16.
    La Máquina VirtualJava (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 dedesarrollo 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.comEl 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 unobjeto?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 deprogramació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 CLASEy el OBJETO.