OOPs en Java: encapsulación, herencia, polimorfismo, Abstracción

publicado en: Articles | 0

en el último artículo discutimos conceptos de OOPs. Si aún no lo ha comprobado, le recomiendo que lo Lea para tener una visión general básica de todos los conceptos de Programación Orientada a objetos. En esta guía, discutiremos cuatro características importantes de OOPs con la ayuda de ejemplos de la vida real.

enfoque orientado a Objetos : una introducción

Java es un lenguaje orientado a objetos porque proporciona las características para implementar un modelo orientado a objetos., Estas características incluyen Abstracción, encapsulación, herencia y polimorfismo.

OOPS se trata de desarrollar una aplicación alrededor de sus datos, es decir, objetos que proporciona el acceso a sus propiedades y las posibles operaciones a su manera.

Abstracción

uno de los conceptos más fundamentales de OOPs es la abstracción. La abstracción es un proceso en el que solo se muestran datos «relevantes» y se «ocultan» detalles innecesarios de un objeto del usuario., Por ejemplo, cuando inicia sesión en su cuenta de Amazon en línea, ingresa su user_id y contraseña y presiona login, lo que sucede cuando presiona login, cómo se envían los datos de entrada al servidor de amazon, Cómo se verifican, todo se abstrae del yo.

otro ejemplo de abstracción: un coche en sí mismo es un objeto bien definido, que se compone de varios otros objetos más pequeños como un sistema de engranajes, mecanismo de dirección, motor, que de nuevo tienen sus propios subsistemas., Pero para los seres humanos coche es un solo objeto, que puede ser manejado por la ayuda de sus subsistemas, incluso si sus detalles internos son desconocidos.

Encapsulation

Este post proporciona la explicación teórica de la encapsulación con ejemplos de la vida real. Para una explicación detallada sobre este tema con programas java, consulte encapsulación en java con ejemplo.

La encapsulación es:

  • enlazar los datos con el código que los manipula.
  • mantiene los datos y el código a salvo de interferencias externas

mirando el ejemplo de un mecanismo de Dirección asistida de un automóvil., La Dirección asistida de un automóvil es un sistema complejo, que internamente tiene muchos componentes estrechamente acoplados entre sí, funcionan sincrónicamente para girar el automóvil en la dirección deseada. Incluso controla la potencia entregada por el motor al volante. Pero para el mundo externo solo hay una interfaz disponible y el resto de la complejidad está oculta. Además, la unidad de dirección en sí misma es completa e independiente. No afecta al funcionamiento de ningún otro mecanismo.

del mismo modo, el mismo concepto de encapsulación se puede aplicar al código., El código encapsulado debe tener las siguientes características:

  • Todo el mundo sabe cómo acceder a él.
  • Se puede usar fácilmente independientemente de los detalles de implementación.
  • no debería haber efectos secundarios del código, para el resto de la aplicación.

la idea de encapsulación es mantener las clases separadas y evitar que se acoplen estrechamente entre sí.

Un ejemplo de encapsulación es la clase de java.útil.Hashtable. El usuario solo sabe que puede almacenar datos en forma de par clave/valor en una tabla hash y que puede recuperar esos datos de varias maneras., Pero la implementación real como, cómo y dónde se almacenan realmente estos datos, está oculta al usuario. El usuario puede simplemente usar Hashtable donde quiera almacenar pares clave / valor sin preocuparse por su implementación.

herencia

Este post proporciona la explicación teórica de la herencia con ejemplos de la vida real. Para una explicación detallada sobre este tema con programas java, consulte herencia con ejemplos y tipos de herencia en java.

  • La Herencia es el mecanismo por el cual un objeto adquiere las propiedades some/all de otro objeto.,
  • soporta el concepto de clasificación jerárquica.

por ejemplo: Car es un vehículo de cuatro ruedas, así que supongamos que tenemos una clase FourWheeler y una subclase de la misma llamada Car. Aquí Car adquiere las propiedades de una clase FourWheeler. Otras clasificaciones podrían ser un jeep, tempo, van, etc. FourWheeler define una clase de vehículos que tienen cuatro ruedas, y un rango específico de potencia del motor, capacidad de carga, etc., Car (denominado como una subclase) adquiere estas propiedades de FourWheeler, y tiene algunas propiedades específicas, que son diferentes de otras clasificaciones de FourWheeler, como el lujo, la comodidad, la forma, el tamaño, el uso, etc.

un automóvil puede tener una clasificación adicional, como un automóvil abierto, un automóvil pequeño, un automóvil grande, etc., que adquirirá las propiedades tanto de Four Wheeler como de Car, pero aún tendrá algunas propiedades específicas. De esta manera el nivel de jerarquía se puede extender a cualquier nivel.

Las clases Java Swing y Awt representan los mejores ejemplos de herencia.,

polimorfismo

Este post proporciona la explicación teórica del polimorfismo con ejemplos de la vida real. Para una explicación detallada sobre este tema con programas java, consulte polimorfismo en java y tiempo de ejecución & polimorfismo en tiempo de compilación.

  • El polimorfismo significa procesar objetos de manera diferente según su tipo de datos.
  • En otras palabras, significa, un método con implementación múltiple, para una determinada clase de acción. Y qué implementación se va a utilizar se decide en tiempo de ejecución dependiendo de la situación (i. e.,, data type of the object)
  • Esto se puede implementar mediante el diseño de una interfaz genérica, que proporciona métodos genéricos para una determinada clase de acción y puede haber varias clases, que proporciona la implementación de estos métodos genéricos.

nos Permite ver el mismo ejemplo de un coche. Un coche tiene un sistema de transmisión de engranajes. Tiene cuatro engranajes delanteros y uno hacia atrás. Cuando se acelera el motor, dependiendo de qué marcha se activa, se entrega al automóvil una cantidad diferente de potencia y movimiento., La acción es la misma que aplica el engranaje, pero en función del tipo de engranaje, la acción se comporta de manera diferente o se puede decir que muestra muchas formas (polimorfismo significa muchas formas)

El polimorfismo podría ser estático y dinámico tanto. La sobrecarga del método es polimorfismo estático, mientras que la sobreescritura del método es polimorfismo dinámico.

  • sobrecargar en palabras simples significa que más de un método tiene el mismo nombre de método que se comporta de manera diferente en función de los argumentos pasados al llamar al método., Esto se llama estático porque, qué método a ser invocado se decide en el momento de la compilación
  • Overriding significa que una clase derivada está implementando un método de su superclase. El método call to override se resuelve en tiempo de ejecución, por lo que se denomina polimorfismo en tiempo de ejecución

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *