Abstracción por Parametrización y Especificación en Java

La abstracción por parametrización y la especificación son métodos importantes en Java. Hacemos esto con la esperanza de simplificar nuestro análisis al separar los atributos y la implementación de detalles para los requisitos del usuario al mostrar la parte esencial al usuario y ocultar ciertos detalles para varios propósitos como seguridad, mantenimiento, etc.

  • Las abstracciones nos ayudan de muchas maneras, como una manera fácil de organizar el código.
  • También ayuda a descomponer pasos grandes en pasos más pequeños.
  • Es útil para suprimir detalles y simplificar la interacción.
  • La abstracción juega un papel importante en la mejora de la parte de mantenimiento del proyecto.

Ejemplo:

Básicamente, la abstracción es un método para proporcionar simplicidad al ocultar todos los mecanismos detrás de ellos. Por ejemplo, cuando alguien lo llama, ve en su pantalla que xyz lo está llamando con un ícono verde para recibir y un ícono rojo con una opción de rechazo y alguna opción de mensajería, pero lo que no ve es todo el mecanismo de back-end que cómo alguien te está llamando cómo al tocar el icono en pantalla puedes recibir/rechazar o enviar un mensaje de texto a alguien sobre cómo se conectará con la persona que llama todas las cosas. De esta manera, la abstracción simplifica las cosas.

Java

// A sample program to demonstrate
// Abstraction program in Java
  
// Consider a Student_Record class.
  
abstract class Student_Record {
    
    // It's an Abstract method does
    // not contain body.
    public abstract void Student_Fee_Record();
  
    // Student_Info is a normal method.
    public void Student_Info()
    {
        String name = "Ashish";
        int roll_no = 12345;
        System.out.println("Hello! " + name
                           + " your roll_no is :"
                           + roll_no);
    }
}
  
// Student_marks is a subclass which
// is extended from Student_Record.
class Student_Fee extends Student_Record {
    public void Student_Fee_Record()
    {
        int Fee = 1000;
  
        // Here is provided body of
        // Student_Fee_Record().
        System.out.println("Fee :" + Fee);
    }
}
  
class Student_Data {
    public static void main(String[] args)
    {
         
      // Create a Student_Fee object
       Student_Fee s1 
            = new Student_Fee();         
        s1.Student_Fee_Record();
        s1.Student_Info();
    }
}

Producción :

Fee :1000
Hello! Ashish your roll_no is :12345

Métodos de abstracción:

  • Abstracción por Parametrización.
  • Abstracción por Especificación.

Abstracción por parametrización:

Se abstrae de la identidad de los datos reemplazándolos con parámetros.

Ejemplo –

x % 2  =  0

Describe un cálculo que cuando dividimos un número x a 2, el resto es igual a cero, que usamos para encontrar que el número x dado es par o no.

x : int(x % 2 == 0)(y)

Es idéntico en significado a 

y % 2==0

En una notación más familiar, podríamos denotar la expresión anterior mediante la siguiente expresión dada a continuación.

Java

class Abstraction {
  
    // Abstraction by parameterization
    int Even(int x)
    {
        if (x % 2 == 0)
            return x;
    }
}

Abstracción por especificación:

Se abstrae desde los detalles de implementación (cómo se implementa el módulo) hasta el comportamiento del que pueden depender los usuarios (lo que hace el módulo). Aísla los módulos de las implementaciones de los demás.

Nos permite abstraernos del cálculo descrito por el cuerpo de un procedimiento hasta el fin para el que fue diseñado. Hacemos esto asociando entre sí un procedimiento con una especificación de su efecto previsto y luego considerando que el significado de una llamada a procedimiento se basa en esta especificación en lugar de en el cuerpo del procedimiento.

Procedimiento par-impar:

Java

int Even(int x)
  
{
  
    // REQUIRES: num x is only integer
    // MODIFIES: system.out
    // EFFECTS : is num x % 2==0
    // then num x is even else it is odd.
    if (x % 2 == 0) {
        system.out.print(num + "is even ") else system.out
            .print(num + "is odd")
    }
}

Ejemplo:

En este programa, verá cómo puede escribir la lógica para un usuario, como si el usuario solo desea ingresar cualquier número y solo saber si un número determinado es impar o incluso. La lógica del programa se proporciona a continuación para verificar el par y impar para cualquier número de entrada del usuario.

Input : 11
Output : Odd

Input : 52
Output : Even

Java

import java.util.Scanner;
  
class CheckEvenOdd {
  
    // REQUIRES:num x is only integer
    // MODIFIES:System.out
    // EFFECT:is num x % 2 == 0
    // then x is even else odd
  
    public static void main(String args[])
    {
        int num;
        System.out.println("Enter an Integer number:");
  
        Scanner input = new Scanner(System.in);
        num = input.nextInt();
  
        if (num % 2 == 0)
            System.out.println("Entered number is even");
        else
            System.out.println("Entered number is odd");
    }
}

Aporte:

78

Producción :

Enter an Integer number:
78
Entered number is even

Publicación traducida automáticamente

Artículo escrito por honeyhabib y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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