ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PROGRAMACIÓN ORIENTADA A OBJETOS. Una visión general de Java


Enviado por   •  10 de Abril de 2019  •  Apuntes  •  6.148 Palabras (25 Páginas)  •  210 Visitas

Página 1 de 25

CAPÍTULO

2

Una visión general de Java

Como en todos los otros lenguajes de computadora, los elementos de Java no existen de forma aislada. Más bien, trabajan juntos para formar el lenguaje en su conjunto. Sin embargo, esta interrelación puede hacer que sea difícil describir un aspecto de Java sin involucrar a varios otros. A menudo, una discusión de una característica implica el conocimiento previo de otra. Por este motivo, este capítulo presenta una descripción general rápida de varias características clave de Java. El material descrito aquí le dará un punto de apoyo que le permitirá escribir y comprender programas simples. La mayoría de los temas tratados se examinarán con mayor detalle en los capítulos restantes de la Parte I.

PROGRAMACIÓN ORIENTADA A OBJETOS

La programación orientada a objetos (OOP) está en el núcleo de Java. De hecho, todos los programas Java están, al menos en cierta medida, orientados a objetos. OOP es tan integral para Java que es mejor entender sus principios básicos antes de comenzar a escribir incluso programas Java simples. Por lo tanto, este capítulo comienza con una discusión de los aspectos teóricos de la POO.

Dos paradigmas

Todos los programas informáticos constan de dos elementos: código y datos. Además, un programa puede organizarse conceptualmente en torno a su código o en torno a sus datos. Es decir, algunos programas se escriben en torno a "lo que está sucediendo" y otros en torno a "quién está siendo afectado". Estos son los dos paradigmas que rigen cómo se construye un programa. La primera forma se llama el modelo orientado al proceso. Este enfoque caracteriza a un programa como una serie de pasos lineales (es decir, código). El modelo orientado a procesos se puede considerar como un código que actúa sobre los datos. Los lenguajes de procedimiento como C emplean este modelo para un éxito considerable. Sin embargo, como se mencionó en el Capítulo 1, los problemas con este enfoque aparecen a medida que los programas se hacen más grandes y más complejos.

Para gestionar la creciente complejidad, se concibió el segundo enfoque, denominado programación orientada a objetos. La programación orientada a objetos organiza un programa alrededor de sus datos (es decir, objetos) y un conjunto de interfaces bien definidas para esos datos. Un programa orientado a objetos se puede caracterizar como datos que controlan el acceso al código. Como verá, al cambiar la entidad de control a datos, puede lograr varios beneficios organizacionales.

Abstracción

Un elemento esencial de la programación orientada a objetos es la abstracción. Los humanos manejan la complejidad a través de la abstracción. Por ejemplo, las personas no piensan en un automóvil como un conjunto de decenas de miles de partes individuales. Ellos piensan que es un objeto bien definido con su propio comportamiento único. Esta abstracción permite a las personas usar un automóvil para ir al supermercado sin sentirse abrumados por la complejidad de las partes individuales. Pueden ignorar los detalles de cómo funcionan los sistemas de motor, transmisión y frenos. En su lugar, son libres de utilizar el objeto como un todo.

Una forma eficaz de gestionar la abstracción es mediante el uso de clasificaciones jerárquicas. Esto le permite superponer la semántica de sistemas complejos, dividiéndolos en piezas más manejables. Desde el exterior, el coche es un solo objeto. Una vez dentro, se ve que el automóvil consta de varios subsistemas: dirección, frenos, sistema de sonido, cinturones de seguridad, calefacción, teléfono celular, etc. A su vez, cada uno de estos subsistemas está formado por unidades más especializadas. Por ejemplo, el sistema de sonido podría consistir en una radio, un reproductor de CD y / o reproductor de MP3. El punto es que usted administra la complejidad del automóvil (o cualquier otro sistema complejo) mediante el uso de abstracciones jerárquicas.

Las abstracciones jerárquicas de sistemas complejos también pueden aplicarse a programas informáticos. Los datos de un programa tradicional orientado a procesos se pueden transformar por abstracción en sus objetos componentes. Una secuencia de pasos de proceso puede convertirse en una colección de mensajes entre estos objetos. Por lo tanto, cada uno de estos objetos describe su propio comportamiento único. Puede tratar estos objetos como entidades concretas que responden a los mensajes que les dicen que hagan algo. Esta es la esencia de la programación orientada a objetos.

Los conceptos orientados a objetos forman el corazón de Java, al igual que forman la base para la comprensión humana. Es importante que entiendas cómo estos conceptos se traducen en programas. Como verá, la programación orientada a objetos es un paradigma poderoso y natural para crear programas que sobrevivan a los cambios inevitables que acompañan el ciclo de vida de cualquier proyecto de software importante, incluida la concepción, el crecimiento y el envejecimiento. Por ejemplo, una vez que tiene objetos bien definidos e interfaces limpias y confiables para esos objetos, puede retirar o reemplazar partes de un sistema más antiguo sin temor.

Los tres principios de OOP

Todos los lenguajes de programación orientados a objetos proporcionan mecanismos que lo ayudan a implementar el modelo orientado a objetos. Son encapsulación, herencia y polimorfismo. Echemos un vistazo a estos conceptos ahora.

Encapsulacion

La encapsulación es el mecanismo que une el código y los datos que manipula, y mantiene ambos a salvo de interferencias externas y mal uso. Una forma de pensar acerca de la encapsulación es como una envoltura protectora que evita que el código y los datos sean accedidos arbitrariamente por otro código definido fuera de la envoltura. El acceso al código y a los datos dentro de la envoltura se controla estrictamente a través de una interfaz bien definida. Para relacionar esto con el mundo real, considere la transmisión automática en un automóvil. Encapsula cientos de bits de información sobre su motor, como la velocidad a la que acelera, la inclinación de la superficie en la que se encuentra y la posición de la palanca de cambios. Usted, como usuario, tiene un solo método para afectar esta compleja encapsulación: moviendo la palanca de cambios. No puede afectar la transmisión mediante el uso de la señal de giro o los limpiaparabrisas, por ejemplo. Por lo tanto, la palanca de cambio de marchas es una interfaz bien definida (de hecho, única) para la transmisión. Además, lo que ocurre dentro de la transmisión no afecta los objetos fuera de la transmisión. Por ejemplo, ¡cambiar de marcha no enciende los faros! Debido a que una transmisión automática está encapsulada, docenas de fabricantes de automóviles pueden implementar una en cualquier forma que deseen. Sin embargo, desde el punto de vista del conductor, todos funcionan igual. Esta misma idea se puede aplicar a la programación. El poder del código encapsulado es que todos saben cómo acceder a él y, por lo tanto, pueden usarlo independientemente de los detalles de la implementación, y sin temor a efectos secundarios inesperados.

...

Descargar como (para miembros actualizados) txt (38 Kb) pdf (452 Kb) docx (1 Mb)
Leer 24 páginas más »
Disponible sólo en Clubensayos.com