La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Definición de objeto Un objeto es una representación detallada y particular de algo de la realidad. Todo objeto tiene un identidad o nombre, estado (características.

Presentaciones similares


Presentación del tema: "Definición de objeto Un objeto es una representación detallada y particular de algo de la realidad. Todo objeto tiene un identidad o nombre, estado (características."— Transcripción de la presentación:

1 Definición de objeto Un objeto es una representación detallada y particular de algo de la realidad. Todo objeto tiene un identidad o nombre, estado (características definidas generalmente en variables) y comportamiento (sus funciones o procedimientos).

2 Generalidades de objetos Una forma de alterar el estado de un objeto es a través de sus funciones. Las clases son generalizaciones de un objeto en particular. Por ejemplo, el objeto Auto pertenece a la clase Autos. Una instancia de una clase es siempre un objeto único.

3 Definición de Clases Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase.

4 Relación Objetos-Clases Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase.

5 Definición de Método virtual Un método virtual es una función cuyo comportamiento, al ser declarado "virtual", es determinado por la definición de una función con la misma cabecera en alguna de sus subclases. Este concepto es una parte muy importante del polimorfismo en la POO.

6 Beneficios de Método virtual El concepto de función virtual soluciona los siguientes problemas: En POO, cuando una clase derivada hereda de una clase base, un objeto de la clase derivada puede ser referido tanto como del tipo de la clase base como del tipo de la clase derivada.

7 Consideraciones a tener en cuenta de Método virtual Si hay funciones de la clase base redefinidas por la clase derivada, aparece un problema cuando un objeto derivado ha sido derivado como del tipo de la clase base. Cuando un objeto derivado es referido como del tipo de la base, el comportamiento de la llamada a la función deseado es ambiguo. Distinguir entre virtual y no virtual sirve para resolver este problema. Si la función en cuestión es designada "virtual", se llamará a la función de la clase derivada (si existe). Si no es virtual, se llamará a la función de la clase base.

8 Historia de Java (1) El lenguaje Java así como la máquina virtual, comenzaron como un proyecto interno de Sun Microsystems en Los ingenieros de Sun no estaban satisfechos con el rendimiento del lenguaje C++, por lo que James Gosling, Mike Sheridan y Patrick Naughton, junto con otros más, comenzaron a desarrollar un nuevo lenguaje, que en principio pensaron dedicar a la programación de todo tipo de aparatos, tales como microondas, heladeras, teléfonos móviles, etc.. Ellos pensaban que éstos generarían muchas e importantes aplicaciones para la tecnología del futuro.

9 Historia de Java (2) El lenguaje tendría que obviar problemas que presenta C++, en campos tales como la programación distribuída, las aplicaciones multihilo, el manejo de la memoria y ser más sencillo de manejar que C++. Finalmente se deseaba que los programas fueran portables a todo tipo de aparatos. Inicialmente el lenguaje se llamó Oak (en español 'roble'), en honor de un roble que había frente a la oficina.

10 Historia de Java (3) En 1992, se presentó como demostración una PDA con interface gráfica y un asistente inteligente representado mediante un muñeco llamado Duke. Oak fue presentado a concurso, como solución tecnológica, en varios proyectos para la industria del cine y la televisión, pero no fue elegido. En 1994 John Gage, James Gosling, Bill Joy, Patrick Naughton, Wayne Rosing, y Eric Schmidt se se reunieron para reorientar Oak. Decidieron orientarlo hacia la tecnología de la Web, pues se pensaba que tras la aparición del navegador Mosaic, ésta evolucionaría hacia la misma clase de interactividad, que la televisión por cable, para la cual habían estado preparando Oak.

11 Historia de Java (4) Fue asimismo en 1994 cuando se cambió el nombre de Oak a Java. Poco después, aún en 1994, la plataforma Java 1.0, estaba disponible para descarga en la Web. En 1995 Netscape anunció que incluiría soporte para Java en sus navegadores, dando con esto un buen apoyo a Java.

12 Características principales de Java (1) Simple: Elimina la complejidad de los lenguajes como "C" y da paso al contexto de los lenguajes modernos orientados a objetos. La filosofía de programación orientada a objetos es diferente a la programación convencional.

13 Características principales de Java (2) Familiar: Como la mayoría de los programadores están acostumbrados a programar en C o en C++, la sintaxis de Java es muy similar a la de estos.

14 Características principales de Java (3) Robusto: El sistema de Java maneja la memoria de la computadora por uno. No te tienes que preocupar por punteros, memoria que no se esté utilizando, etc. Java realiza todo esto sin necesidad de que uno se lo indique.

15 Características principales de Java (4) Seguro: El sistema de Java tiene ciertas políticas que evitan se puedan codificar virus con este lenguaje. Existen muchas restricciones, especialmente para los applets, que limitan lo que se puede y no puede hacer con los recursos críticos de una computadora.

16 Características principales de Java (5) Portable: Como el código compilado de Java (conocido como byte code) es interpretado, un programa compilado de Java puede ser utilizado por cualquier computadora que tenga implementado el interprete de Java.

17 Características principales de Java (6) Independiente de la arquitectura: Al compilar un programa en Java, el código resultante un tipo de código binario conocido como byte code. Este códido es interpretado por diferentes computadoras de igual manera, solamente hay que implementar un intérprete para cada plataforma. De esa manera Java logra ser un lenguaje que no depende de una arquitectura computacional definida.

18 Características principales de Java (7) Multithreaded: Un lenguaje que soporta múltiples threads es un lenguaje que puede ejecutar diferentes líneas de código al mismo tiempo.

19 Características principales de Java (8) Interpretado: Java corre en máquina virtual, por lo tanto es interpretado.

20 Características principales de Java (9) Dinámico: Java no requiere que compiles todas las clases de un programa para que este funcione. Si realizas una modificación a una clase Java se encarga de realizar un Dynamic Bynding o un Dynamic Loading para encontrar las clases.

21 Diferencias entre J2SE (java standard), J2EE (java enterprise), J2ME (aplicaciones "mini") Actualmente Java ha sido clasificada en tres ediciones distintas, cada una orientada hacia distintas áreas de desarrollo: J2SE o Java Standar Edition – Orientada al desarrollo de aplicaciones independientes de la plataforma. J2EE o Java Esterprise Edition – orientada para desarrollo de aplicaciones de entorno empresarial. J2ME o Java Micro Edition – Orientada a dispositivos con capacidades restringidas. Las características que definen a cada una de las versiones las veremos a continuación:

22 Java 2 Platform, Standard Edition (J2SE) Mantiene la esencia del la idea original de Java. Sus características primordiales son: Basado en C++ desde su orígen, agregando componentes de alto nivel, (strings y recolector de basura). Código independiente de la plataforma, precompilado a bytecodes, ejecutado en el cliente por una JVM (Java Virtual Machine). Abstracción del sistema operativo subyacente mediante un completo de APIs de programación. Esta versión de Java contiene el conjunto básico de herramientas usadas para desarrollar Java Applets, así cómo las APIs orientadas a la programación de aplicaciones de usuario final.

23 Java 2 Platform, Enterprise Edition (J2EE) Versión orientada a entornos empresariales. Tiene características propias: Pensado para ser ejecutado sobre una red de computadoras de forma distribuída y remota mediante EJBs (Enterprise Java Beans). Orientada especialmente al desarrollo de servicios web, servicios de nombres, persistencia de objetos, XML, autenticación, APIs para la gestión de transacciones, etc.

24 Java 2 Platform, Micro Edition (J2ME) Versión de Java enfocada a la aplicación de la tecnología Java en dispositivos electrónicos con capacidades muy reducidas, por ejemplo teléfonos móviles, PDAs o electrodomésticos inteligentes. Tiene unos componentes básicos que la diferencian de las otras versiones. Uso de una máquina virtual denominada KVM (Kilo Virtual Machine un pequeño y rápido recolector de basura).

25 Fases en la creación y ejecución de programas en Java (1) Fase I: Editor Se crea un programa con la ayuda de un editor Se almacena en un fichero con extensión.java

26 Fases en la creación y ejecución de programas en Java (2) Fase II: Compilador El compilador lee el código Java (fichero.java) Si se detectan errores sintácticos, el compilador nos informa de ello. Se generan los bytecodes, que se almacenan en ficheros.class

27 Fases en la creación y ejecución de programas en Java (3) Fase III: Cargador de clases El cargador de clases lee los bytecodes (ficheros.class): Los bytecodes pasan de disco a memoria principal.

28 Fases en la creación y ejecución de programas en Java (4) Fase IV: Verificador de bytecodes El verificador de bytecodes comprueba que los bytecodes son válidos y no violan las restricciones de seguridad de la máquina virtual Java.

29 Fases en la creación y ejecución de programas en Java (5) Fase V: Intérprete de bytecodes o compilador JIT La máquina virtual Java (JVM) lee los bytecodes y los traduce al lenguaje que el ordenador entiende (código máquina).

30 Fases en la creación y ejecución de programas en Java (6) NOTA: Conforme se ejecuta el programa, se hace uso de la memoria principal para almacenar los datos con los que trabaja la aplicación.

31 Ventajas de Java (1) Primero: Java es un lenguaje de programación orientado a objetos, y tiene todos los beneficios que ofrece esta metodología de programación.

32 Ventajas de Java (2) Segundo: No debes volver a escribir el código si quieres ejecutar el programa en otra máquina. Un solo código funciona para todos los browsers compatibles con Java o donde se tenga una Máquina Virtual de Java (Mac's, PC's, Sun's, etc). Un browser compatible con Java deberá ejecutar cualquier programa hecho en Java, esto ahorra a los usuarios tener que estar insertando "plug-ins" y demás programas que a veces nos quitan tiempo y espacio en disco.

33 Ventajas de Java (3) Tercero: Si lo que interesa son las páginas Web, ya no tienen que ser estáticas, se le pueden poner toda clase de elementos multimedia y permiten un alto nivel de interactividad, sin tener que gastar en paquetes carísimos de multimedia.

34 Ventajas de Java (4) Cuarto: Existen dentro de su librería clases gráficas como awt y swing, las cuales permiten crear objetos gráficos comunes altamente configurables y con una arquitectura independiente de la plataforma.

35 Ventajas de Java (5) Quinto: Se puede acceder a bases de datos fácilmente con JDBC, independientemente de la plataforma utilizada. El manejo de las bases de datos es uniforme, es decir transparente y simple. Existen herramientas como Crystal Reports o herramientas libres como iText que los genera en formato pdf. La API que utilizan estas herramientas en Java, es la más recomendable para generar reportes en Web.

36 Desventajas de Java (1) Primero: La velocidad. Los programas hechos en Java no tienden a ser muy rápidos, supuestamente se está trabajando en mejorar esto. Como los programas de Java son interpretados nunca alcanzan la velocidad de un verdadero ejecutable.

37 Desventajas de Java (2) Segundo: Java es un lenguaje de programación. Esta es otra gran limitante, por más que digan que es orientado a objetos y que es muy fácil de aprender sigue siendo un lenguaje y por lo tanto aprenderlo no es cosa fácil. Especialmente para los no programadores.

38 Desventajas de Java (3) Tercero: Hay diferentes tipos de soporte técnico para la misma herramienta, por lo que el análisis de la mejor opción se dificulta.

39 Desventajas de Java (4) Cuarto: El diseño de interfaces gráficas con awt y swing no es simple. Existen herramientas como el JBuilder que permiten generar interfaces gráficas de manera sencilla, pero tienen un costo adicional.

40 Desventajas de Java (5) Quinto: Puede ser que no haya JDBC para bases de datos poco comerciales.


Descargar ppt "Definición de objeto Un objeto es una representación detallada y particular de algo de la realidad. Todo objeto tiene un identidad o nombre, estado (características."

Presentaciones similares


Anuncios Google