Introducción a Java 2
Upcoming SlideShare
Loading in...5
×
 

Introducción a Java 2

on

  • 1,363 views

Breve introducción a Java 2 para principiantes.

Breve introducción a Java 2 para principiantes.

Statistics

Views

Total Views
1,363
Views on SlideShare
1,358
Embed Views
5

Actions

Likes
0
Downloads
37
Comments
0

1 Embed 5

http://campus.iesit.edu.mx 5

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introducción a Java 2 Introducción a Java 2 Presentation Transcript

  • I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 1 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Tema 1: Introducción a la OOP y el lenguaje Java 1. Programación orientada a objetos 2. El lenguaje Java 3. Compilación, bytecode y JVMs 4. Entornos de desarrollo Java 5. Java vs otros lenguajes OOI.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 2 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Programación orientada a objetos •Aparece a finales de los 60, pero es a principios de los 80 cuando con el lenguaje Smalltalk comienza un interés claro hacia este paradigma. •La programación orientada a objetos es el paradigma de programación y análisis y diseño de aplicaciones claramente dominante en la actualidad. •Hoy prácticamente no se concibe un lenguaje de programación sin características de orientación a objetos: Eiffel, C++, Java, C#, etc.I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 3 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Programación orientada a objetos Las ventajas del paradigma OO son múltiples: •Es intuitiva, describe un problema en términos similares a los que utiliza la mente humana. •Permite construir soluciones más seguras y con un mantenimiento más sencillo. •Fomenta la reutilización y el trabajo en equipo. Escalabilidad de las aplicaciones. Las características principales del paradigma OO: •Incorpora los conceptos de abstracción, ocultación de información y encapsulación heredados de los tipos de datos abstractos. •Incorpora mecanismos específicos y extremadamente poderosos como son la •herencia, el polimorfismo y la ligadura dinámica •Admite de manera muy natural en algunos lenguajes el soporte de genericidad (patrones) y la definición de operadores. No soportados por Java.I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 4 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Programación orientada a objetos El desarrollo siguiendo el enfoque orientado a objetos es un proceso integral que incluye métodos específicos de análisis y diseño, notación gráfica (UML) y lenguajes de programación orientados a objetos. Las soluciones obtenidas durante la fase de análisis y diseño no son específicas para ningún lenguaje de programación orientado a objetosI.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 5 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 El Lenguaje Java Desarrollado en los laboratorios de Sun, es uno de los lenguajes de programación orientado a objetos que mayor repercusión ha tenido en los últimos años. •Basado en C++ pero simplificado, mucho más fácil de usar, de más alto nivel y menos propenso a errores. •Amplísima biblioteca estándar de clases predefinidas. •Las aplicaciones Java pueden ser ejecutadas indistintamente en cualquier plataforma sin necesidad de recompilación. •Amplio espectro: programación tradicional, distribuida, GUI, Web, dispositivos móviles, etc. •Gestión avanzada de memoria mediante el uso de un recolector de basura. •Gestión avanzada de errores, tanto en tiempo de compilación como de ejecución. •Soporte sencillo de múltiples hebras de ejecución. •Pueden integrarse módulos escritos en C/C++. •Lenguaje abierto. Kits de desarrollo y documentación gratuitos en la redI.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 6 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 El Lenguaje Java Existen distintas “ediciones” de Java para el desarrollo de aplicaciones en distintos ámbitos: •Aplicaciones de propósito general (J2SE) •Aplicaciones de gestión en entornos empresariales (J2EE) •Aplicaciones para teléfonos móviles, PDAs y otros dispositivos electrónicos que permitan aplicaciones empotradas (J2ME)I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 7 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 El Lenguaje Java Existen dos kits diferentes que pueden ser descargados de la página oficial de Sun: •El Java Development Kit (JDK) permite desarrollar y ejecutar aplicaciones Java •El Java Runtime Environment (JRE) permite únicamente la ejecución J2SE incluye bibliotecas muy extensas y completas, que permiten la implementación de casi cualquier tipo de aplicación: •Seguridad •Interfaz de usuario (AWT, SWING) •EEDDs •Gráficos 2D •Componentes (JavaBeans) •Manipulación, carga y descarga de •Internacionalización imágenes •E/S •Impresión •XML •Acceso a bases de datos (JDBC) •Redes y acceso a Internet •Gestión de preferencias y •Programación distribuida (RMI, CORBA) configuraciones •Matemática de precisión arbitraria •SonidoI.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 8 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Compilación, bytecode y JVMs Java sigue un esquema no tradicional de compilación/ejecución: •La compilación genera un ejecutable en bytecode o código intermedio independiente. •Para su ejecución se requiere un JRE específico de la plataforma. El JRE está formado por una máquina virtual java (JVM) y las librerías de clases. •La JVM interpreta el bytecode o realiza su compilación just-in-time para que su •ejecución sea más eficiente Java Ventas.java (windows) class Ventas{ … Ventas.class } Java (linux) Compilación Usuario.class class Usuario{ Java Archivos de clases en … Bytecode o código (Sun OS) } Código Fuente intermedio Ejecución Interpretada con MV especificaI.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 9 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Compilación, bytecode y JVMs Ventajas de este sistema: •Se compila la aplicación una única vez y los ejecutables en bytecode obtenidos son válidos para cualquier plataforma. El código fuente queda a salvo. •Es muy robusto. La máquina virtual Java es capaz de detectar y notificar gran cantidad de errores durante la ejecución de la aplicación (como accesos a elementos fuera de un vector) •El recolector de basura no ocupa espacio en el ejecutable, ya que viene integrado en la JVM •Los ejecutables son pequeños porque las librerías de clases vienen proporcionadas junto a la JVM en el JRE de la plataforma concretaI.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 10 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Compilación, bytecode y JVMs Inconvenientes: •Velocidad. Evidentemente la interpretación o incluso compilación just-in-time del bytecode produce aplicaciones más lentas que en el caso de la ejecución directa de un binario. El recolector de basura puede suponer una sobrecarga adicional al procesador. •La generalidad tiene como inconveniente que no se aprovecha totalmente la potencia de la máquina y del sistema operativo. Por ejemplo, el aspecto de una aplicación Java puede resultar simple y poco atractivo en comparación con las aplicaciones nativasI.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 11 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Entornos de Desarrollo Java •JDK. El kit de desarrollo básico proporcionado por Sun. Es lo mínimo que se necesita para desarrollar. Útil si se necesita compilar aplicaciones Java de manera esporádica o en general para programadores con espíritu “espartano”. Puede bajarse gratuitamente para cualquier plataforma de java.sun.com •NetBeans. El IDE Java más popular, realizado íntegramente en Java (y por tanto multiplataforma). Consume bastantes recursos. Tiene una arquitectura extensible con módulos específicos para desarrollo web, aplicaciones móviles, diseño UML, etc. Puede obtenerse gratuitamente de www.netbeans.org •Eclipse. Junto a netBeans, el entorno de desarrollo Java gratuito más utilizado. También permite el desarrollo en C++ y otros lenguajes de programación. Puede descargarse en www.eclipse.org •Borland JBuilder. Excelente entorno integrado de desarrollo Java de Borland. Existen versiones limitadas que pueden bajarse de www.borland.com •Microsoft Visual J++. Uno de los más populares, aunque las aplicaciones obtenidas pueden presentar problemas de compatibilidad con el SDK oficial de Java.I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 12 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 El primer programa Hola.java Es de consenso que el entorno JDK no es el más adecuado para el desarrollo de aplicaciones Java, debido a funcionar única y exclusivamente mediante comandos de consola, ya que hoy en día la programación se suele ayudar de entornos visuales, como JBuilder, JCreator o muchos otros, que facilitan enormemente la tarea. Sin embargo, puede ser un entorno bastante útil para aprender el lenguaje, ya que aunque los entornos visuales nos hagan mucho trabajo siempre es necesario ir al código para modificarlo y obtener el comportamiento deseado, lo cual quiere decir que necesitamos dominar el lenguaje y es más fácil llegar a este dominio escribiendo códigos completos en un entorno “hostil” que no nos ayuda, que simplemente remodelando códigos ya generados por entornos visuales.I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 13 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 El primer programa Hola.java /** * @fileName Hola.java * @author Oscar Roa */ class Hola{ public static void main(String args[]){ System.out.println(“Hola Mundo desde Java!”); } } Para compilar el ejemplo: Javac. Es el comando compilador de Java. Su sintaxis es: #javac Hola.java La entrada de este comando ha de ser necesariamente un fichero que contenga código escrito en lenguaje Java y con extensión .java. El comando nos creará un fichero .class por cada clase que contenga el fichero Java. Los ficheros .class contienen código bytecode, el código que es interpretado por la máquina virtual Java.I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 14 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 El primer programa Hola.java Para ejecutar el ejemplo: Java. Es el intérprete de Java. Permite ejecutar aplicaciones que previamente hayan sido compiladas y transformadas en ficheros .class. Su sintaxis es: #java Hola No es necesario aquí suministrar la extensión del fichero, ya que siempre ha de ser un fichero .class Algunos Ejercicios de practica. •Calcular la suma de 2 números. •Calcular el Área de un circulo. •Calcular la suma de n números. •Calcular la suma de n números impares. •Calcular el factorial de un numero dado. •Obtener el código Ascii. •Calcular la seria Fibonnaci.I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 15 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Tema 2: Programación Orientada a Objetos en Java 1. Introducción 15. Herencia múltiple 2. Clases de objetos 16. Polimorfismo 3. Protección de miembros 17. Ligadura dinámica 4. Protección de clases 18. Información de clases en tiempo de 5. Inicialización y finalización ejecución 6. Creación de objetos 19. Otros temas de interés en Java 7. Trabajando con objetos 8. Relaciones entre objetos 9. Clases anidadas e interiores 10. Autoreferencias 11. Aplicaciones orientadas a objetos 12. Herencia 13. Adición, redefinición y anulación 14. Protección y herenciaI.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 16 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Clases Las clases de objetos representan conceptos o entidades significativos en un problema determinado. Una clase describe las características comunes de un conjunto de objetos, mediante dos elementos: Atributos (o variables miembro, variables de clase). Describen el estado interno de cada objeto Operaciones (o métodos, funciones miembro). Describen lo que se puede hacer con el objeto, los servicios que proporciona Nombre de la Clase Cuenta número: String Atributos titular: String saldo: Float interesAnual: Float ingreso(cantidad: Floatl) Operaciones reintegro(cantidad: Floatl) ingresoInteresMes()I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 17 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Clases ●Durante la ejecución de la aplicación se producirá la instanciación de la clase, es decir, la creación de los objetos que representan cada uno de los individuos con sus características propias, es decir, valores específicos para sus atributos. a : Cuenta Cuenta número = “00982” titular = “Luis Cruz” número: String Saldo = 2500.00 interesAnual = 0.23 titular: String saldo: Float interesAnual: Float ingreso(cantidad: Floatl) número = “00922” Objetos titular = “Maria ” reintegro(cantidad: Floatl) Saldo = 1500.00 ingresoInteresMes() interesAnual = 1.23 Clase número = “0282” titular = “Oscar” Saldo = 12500.00 c : Cuenta interesAnual = 0.02 b: CuentaI.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 18 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Clases La implementación de esta clase en Java se realizaría en un fichero con nombre Cuenta.java, y su contenido sería el siguiente: class Cuenta { long numero; String titular; float saldo; float interesAnual; void ingreso(float cantidad) { } void reintegro(float cantidad) { } void ingresoInteresMes() { } boolean enRojos() { } float leerSaldo() { } } Los atributos pueden ser de cualquiera de los tipos básicos de Java: boolean, char, byte, short, int, long, float y double, referencias a otros objetos o arrays de elementos de alguno de los tipos citados:I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 19 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Clases Al contrario que C++, Java realiza la definición e implementación de la clase en el mismo lugar, en un único fichero .java class Cuenta { long numero; String titular; float saldo; float interesAnual; void ingreso(float cantidad) { saldo += cantidad; } void reintegro(float cantidad) { saldo = cantidad; } void ingresoInteresMes() { saldo += interesAnual * saldo / 1200; } boolean enRojos() { return saldo < 0; } float leerSaldo() { return saldo; } }I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 20 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Clases El acceso a los atributos de la clase desde la implementación de las operaciones se realiza de forma directa. Los atributos u operaciones estáticas (static) no son afectados por el proceso de instanciación de objetos a partir de la clase. De un atributo estático no se genera una copia por cada objeto que se crea. Existe una única copia compartida y accesible desde todos los objetos de la clase. Una operación estática únicamente puede acceder a miembros estáticosI.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 21 Diciembre, 2010
  • INSTITUTO DE COMPUTACIÓN Y ELECTRÓNICA “DEHESA” PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA 2 Clases El atributo nOp mantiene una cuenta global del número de operaciones realizadas en las cuentas del banco, para la realización de estadísticas. La operación leerNOperaciones() permite leer este contador. La operación eurosAPesetas() es una operación auxiliar de la clase Cuenta para ser usada cuando sea necesaria una conversión de moneda class Cuenta { long numero; String titular; float saldo; float interesAnual; // Contador de operaciones static int nOp = 0; static int leerNOperaciones() { return nOp; } // Operación estática auxiliar de conversión static long eurosAPesetas(float euros) { return euros * 166.386f; } void ingreso(float cantidad) { saldo += cantidad; ++nOp; } void reintegro(float cantidad) { saldo = cantidad; ++nOp; } }I.S.C. Oscar Eduardo Roa Vela | Programación Básica con Java 2 22 Diciembre, 2010