definición de objeto un objeto es una representación detallada y particular de algo de la...

40
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).

Upload: clemente-marquez

Post on 03-Jan-2015

13 views

Category:

Documents


1 download

TRANSCRIPT

Page 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

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).

Page 2: 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

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.

Page 3: 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

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.

Page 4: 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

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.

Page 5: 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

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.

Page 6: 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

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.

Page 7: 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

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.

Page 8: 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

Historia de Java (1) El lenguaje Java así como la máquina virtual, comenzaron como un proyecto interno de Sun Microsystems en 1990. 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.

Page 9: 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

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.

Page 10: 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

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.

Page 11: 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

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.

Page 12: 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

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.

Page 13: 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

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.

Page 14: 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

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.

Page 15: 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

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.

Page 16: 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

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.

Page 17: 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

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.

Page 18: 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

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.

Page 19: 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

Características principales de Java (8)

• Interpretado: Java corre en máquina virtual, por lo tanto es interpretado.

Page 20: 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

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.

Page 21: 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

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:

Page 22: 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

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.

Page 23: 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

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.

Page 24: 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

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).

Page 25: 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

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

Page 26: 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

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

Page 27: 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

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.

Page 28: 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

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.

Page 29: 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

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).

Page 30: 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

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.

Page 31: 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

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.

Page 32: 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

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.

Page 33: 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

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.

Page 34: 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

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.

Page 35: 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

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.

Page 36: 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

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.

Page 37: 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

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.

Page 38: 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

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.

Page 39: 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

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.

Page 40: 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

Desventajas de Java (5)

Quinto: Puede ser que no haya JDBC para bases de datos poco comerciales.