Abstracción de Java: dominio de OOP con abstracción en Java



Este artículo sobre la abstracción de Java lo ayudará a comprender el uso de la clase abstracta y la interfaz y cómo lograrlo mediante la abstracción.

En el blog anterior, aprendiste sobre en Java. Ahora en este blog, entenderemos un pilar más importante de es decir, Java Abstraction cuya principal funcionalidad es ocultar los detalles de implementación interna.

Cubriré los temas mencionados a continuación en este artículo:





También puede pasar por esta grabación de donde podrá comprender los temas de manera detallada con ejemplos.



Abstracción en OOP

Cuando generalmente hablamos de abstracción, el lenguaje del software es un ejemplo de abstracción. Tomemos un ejemplo y escribamos una declaración como-

x= y + z

En la declaración anterior, estamos agregando dos variables que se almacenan en dos ubicaciones diferentes y luego almacenamos el resultado en una nueva ubicación. Entonces, ¿qué pasa después? Como sabrá, están involucrados registros, conjuntos de instrucciones, contadores de programas, unidades de almacenamiento, etc. Cuando nos referimos a la abstracción en Java, estamos hablando de abstracción en y cómo se logra. El concepto de abstracción en OOP comienza justo en el momento en que se concibe una clase. La abstracción se aplica en todas partes en software y OOP.



¿Qué es la abstracción de Java?

La abstracción no es más que la cualidad de lidiar con ideas en lugar de eventos. Básicamente se trata de ocultar los detalles internos y mostrar las cosas esenciales al usuario.

Llamadas - Abstracción de Java -Edureka

Si miras el gif anterior, puedes ver cuando recibes una llamada, tenemos la opción de contestarlo o simplemente rechazarlo. Pero en realidad, hay mucho código que se ejecuta en segundo plano. Entonces, aquí, no conoce el procesamiento interno de cómo se genera una llamada, esa es la belleza de la abstracción. Puede lograr la abstracción de dos formas:

a) Clase abstracta

b) Interfaz

Entendamos estos conceptos con más detalle.

Clase abstracta

La clase abstracta contiene la palabra clave 'abstracto'. Pero, ¿qué significa exactamente? Si hace que la clase sea abstracta, no se puede crear una instancia, es decir, no puede crear un objeto de una clase abstracta. Además, una clase abstracta puede contener métodos tanto abstractos como concretos.

Nota: Puede lograr una abstracción del 0-100% utilizando una clase abstracta.

Para usar una clase abstracta, debe heredarla de la clase base. Aquí, debe proporcionar implementaciones para los métodos abstractos, de lo contrario, se convertirá en una clase abstracta.

Veamos la sintaxis de una clase abstracta:

Deportes de clase abstracta {// deportes de clase abstracta Salto vacío abstracto () // método abstracto}

Interfaz

Una interfaz en Java es una colección de métodos abstractos y constantes estáticas. Como sabrá en una interfaz, cada método es público y abstracto pero no contiene ningún constructor. Junto con la abstracción, la interfaz también ayuda a lograr una herencia múltiple en Java.
Nota: Puede lograr una abstracción del 100% utilizando interfaces.

cuál es la diferencia entre jquery y javascript

Básicamente, Interface es un grupo de métodos relacionados con cuerpos vacíos. Entendamos las interfaces tomando un ejemplo de la interfaz de una forma con sus métodos relacionados.

forma de interfaz pública {public void draw () public double getArea ()}

Estos métodos deben estar presentes en todas las 'formas', ¿verdad? Pero su trabajo será diferente.

Supongamos que desea dibujar una forma, por ejemplo, un círculo, un cuadrado, un rectángulo, etc. Ya lo sabe, cada forma posee sus propias dimensiones, como radio, altura y ancho. Digamos que quiero dibujar un círculo y calcular su área. Teniendo en cuenta lo mismo, he creado dos métodos en el código anterior, es decir, draw () y getArea (). Ahora, usando estos métodos, puedo dibujar cualquier forma y calcular el área implementando su interfaz.

Ahora, veamos la funcionalidad de cómo implementar esta interfaz.
Para implementar esta interfaz, el nombre de su clase cambiaría a cualquiera de las formas, digamos 'Círculo'. Entonces, para implementar la interfaz de la clase, haré uso de la palabra clave 'implementar':

La clase pública Circle implementa la forma {Private Double Radius public Circle (doble r) {this.radius = r} void draw () {System.out.println ('Drawing Circle')} public double getArea () {return Math.PI * this.radius * this.radius} public double getRadius () {return this.radius}} public class Test {public static void main (String args []) {Shape c = new Circle (8) c.draw () System. out.println ('Área =' + c.getArea ())}}

En el ejemplo anterior, he especificado funcionalidades para los diferentes métodos y el área calculada de un círculo. Aquí, al implementar una interfaz, permite que una clase se vuelva más formal sobre el comportamiento que proporciona. También puede crear otra clase, por ejemplo, la clase 'Rectángulo' que puede heredar la misma 'forma' de interfaz con diferentes funcionalidades.

Ejemplo de abstracción en tiempo real en java

Supongamos que tenemos Sport como interfaz. Aquí, la implementación estará a cargo de las clases llamadas 'Bádminton' y 'Fútbol'. En un escenario real, un usuario final no conocerá la clase de implementación. Por tanto, el método de fábrica puede proporcionar un objeto de la clase de implementación. El método de fábrica se puede utilizar para crear un objeto de clase de implementación basado en algún criterio.
Implementemos lo mismo y creemos una interfaz llamada Sport.java.

public Interface Sport {void play ()} // Ahora, crearemos una clase llamada 'Bádminton'. Clase pública Implementos de bádminton Deporte {@Override public void play () {System.out.println ('Jugando bádminton')}} // A continuación, creemos nuestra última clase 'Fútbol'. Clase pública Fútbol implementa Deporte {@Override public void play () {System.out.println ('Jugando al fútbol')}

El último paso es crear una clase principal llamada 'SportInterface'.

public SportInterface {public static void main (String args []) {// su código aquí}}

Cuando ejecute el programa anterior, la salida será como se muestra a continuación:

Jugando al bádminton ------------------- Jugando al fútbol

Espero que tengan claro la interfaz y cómo pueden lograr la abstracción usándola. Ahora, concluyamos este artículo comparando la abstracción y la encapsulación.

Abstracción vs encapsulación

Abstracción Encapsulamiento
Resuelve el problema a nivel de diseñoResuelve el problema en el nivel de implementación
Se utiliza para ocultar datos no deseados y dar resultados relevantes.La encapsulación significa ocultar el código y los datos en una sola unidad para proteger los datos del mundo exterior.
Diseño exterior: utilizado en términos de diseño.Diseño interior: utilizado en términos de implementación.

Espero que haya entendido la diferencia entre abstracción y encapsulación. Con esto, llegamos a su fin en el blog Java Abstraction. Espero, lo encontró informativo y ayudó a agregar valor a su conocimiento. Si desea obtener más información sobre Java, puede consultar la

Ahora que ha entendido '¿Qué es la abstracción de Java', consulte la por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de formación y certificación Java J2EE y SOA de Edureka está diseñado para estudiantes y profesionales que desean ser desarrolladores de Java. El curso está diseñado para darle una ventaja en la programación de Java y capacitarlo para los conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog de 'Abstracción de Java' y nos comunicaremos con usted lo antes posible.