UNIVERSIDAD AUTONOMA DE CHIHUAHUA FACULTAD DE INGENIERIA
LENGUAJES DE PROGRAMACION III DR. RICARDO BLANCO VEGA
EXPOSICION TERCERA EVALUACION Java Servlet Pages (JSP)
Integrantes Juan Carlos Martínez Carrillo 207259 Josué Escudero Rodríguez 207397 Jesús López Contreras 189961
1
I
N
D
I
C
E
OBJETIVO aprender y entender cuales son los puntos o características que debe cumplir una aplicación para considerarse orientada a objetos
2
CARACTERISTICAS Algunas de las características que debe tener un programa para que sea considerado orientado a objetos pueden ser las siguientes; y aunque no existen estándares para evaluar esto según algunas fuentes, estas son algunas de las consideraciones a tener en cuenta: •
•
•
•
•
Abstracción: Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción. Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente. Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos. Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++. Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en
3
•
•
árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple. Objetos: Entender que es un objeto es la clave para entender cualquier lenguaje orientado a objetos. Existen muchas definiciones que se le ha dado al Objeto. Primero empecemos entendiendo que es un objeto del mundo real. Un objeto del mundo real es cualquier cosa que vemos a nuestro alrededor. Digamos que para leer este artículo lo hacemos a través del monitor y una computadora, ambos son objetos, al igual que nuestro teléfono celular, un árbol o un automóvil. Las Clases: En el mundo real, normalmente tenemos muchos objetos del mismo tipo. Por ejemplo, nuestro teléfono celular es sólo uno de los miles que hay en el mundo. Si hablamos en términos de la programación orientada a objetos, podemos decir que nuestro objeto celular es una instancia de una clase conocida como "celular". Los celulares tienen características (marca, modelo, sistema operativo, pantalla, teclado, etc.) y comportamientos (hacer y recibir llamadas, enviar mensajes multimedia, transmisión de datos, etc.).
ES ESTA APLICACIÓN ORIENTADA A OBJETOS? •
IReport: es una aplicación orientada a la programación de objetos, gracias a esta aplicación podemos interactuar con las bases de datos a través de NetBeans, haciéndolo mas fácil de comprender gracias a los objetos “fisicos” que manejamos, como los label y los buttons.
•
Aplicaciones del lado del servidor: es orientada a objetos, ya que utiliza componentes que pueden ser arrastrados de la paleta de componentes, tales como tablas, forms etc… a los cuales podemos darles parámetros al insertarlos y que se generan en forma de código html dentro del source de la pagina.
•
Aplicaciones para celulares.- Son orientados a objetos, ya que utilizan objetos a los cuales darles eventos mediante el manejador de eventos, asi como clases etc…
•
Aplicaciones de computación Grafica.- Es orientado a objetos, ya que usa APIS que contienen clases 3D
•
Aplicaciones de Base de Datos.- Son orientadas a objetos ya que utilizan tablas con herencias entre si , etc…
4
•
Aplicaciones multiusuario.- Es orientada a objetos, ya que cumple con algunas de las caracteristicas mencionadas anteriormente.
•
Aplicaciones de juegos.- Es orientada a objetos, ya que cumple con algunas de las caracteristicas mencionadas anteriormente para evaluar si una aplicación es orientada a objetos, por ejemplo implementa la utilización de objetos.
CONCLUSIONES Hay un cierto desacuerdo sobre exactamente qué características de un método de programación o lenguaje le definen como "orientado a objetos", pero hay un consenso general en que las características siguientes son las más importantes RECOMENDACIÓNES Para evaluar si una aplicación es o no orientada a objetos, hay que evaluar si tiene alguna de las características anteriores, tales como herencia, polimorfismo y demás. Evaluar si tiene clases u objetos tambien. REFERENCIAS http://www.wikipedia.com http://java.ciberaula.com/articulo/tecnologia_orientada_objetos/
5