Diferencia entre sobrecarga y anulación

: 2 de febrero de 2022

En los idiomas de alto nivel, los codificadores implementan muchas técnicas de codificación para hacer que el código sea más legible y simple. Además, muchas funciones, los constructores también se realizan en el programa. Dichas funciones y constructores pueden ser sobrecargados por diferentes parámetros o podrían ser anulados. Comprendamos esto en detalle.

La sobrecarga y anulación son dos técnicas de programación utilizadas por los programadores al escribir código en lenguajes de alto nivel como C + +, Java, Python y otros. Ambas estrategias son efectivas para hacer que el software sea menos difícil. La función de sobrecarga se utiliza para hacer que el código sea más legible. Sin embargo, el método dominante sobrescribe la clase principal.

Sobrecarga vs Anulación

La principal diferencia entre sobrecarga y anulación es que la función de sobrecarga se usa en la misma clase ( un concepto en lenguajes de computadora ). Por otro lado, el método de una clase es heredado por la otra clase bajo anulación. Indica que el mismo método se pasa de la clase principal a las subclases.

La sobrecarga implica escribir las mismas funciones muchas veces con diferentes parámetros. Sin embargo, no podemos hacer esto en el lenguaje de programación C. De lo contrario, Java admite el concepto de sobrecarga. Los programadores pueden realizar tres tipos de sobrecarga mientras codifican en Java. Es un concepto útil para simplificar el programa.

En lenguaje informático, se utiliza un método primordial en el concepto de herencia. Cada vez que se crea una función en la superclase y luego se usa en una subclase heredando los métodos de la clase principal. Permite que la subclase anule la función de la clase principal ya que la subclase tiene prioridad cuando se ejecuta el programa.

Te puede interesar:  Diferencia entre DigitalOcean y AWS

Tabla de comparación entre sobrecarga y anulación

Parámetros de comparación Sobrecarga también. La anulación se realiza en clases separadas que tienen relación de herencia. Parámetros Los parámetros son diferentes entre sí. Los parámetros son los mismos tanto en subclase como en superclase. Tipo de retorno Bajo sobrecarga, el tipo de retorno puede ser el mismo o diferente. Bajo anulación, el tipo de retorno debe ser el mismo. Polimorfismo Dado que una función puede tomar parámetros distintos en la sobrecarga en el tiempo de compilación. Entonces, es polimorfismo en tiempo de compilación. La anulación también se conoce como polimorfismo en tiempo de ejecución.

¿Qué es la sobrecarga?

La sobrecarga se refiere a la sobrecarga del mismo método varias veces. En lenguaje C, no podemos sobrecargar funciones. Sin embargo, en Java, podemos sobrecargarnos de tres maneras. Los tipos son sobrecarga de construcción, sobrecarga de métodos y sobrecarga de operadores.

Cuando un programador reutiliza el mismo código, los argumentos cambian cada vez. Se conoce como subcarga. La definición de sobrecarga predeterminada ( de la misma función sin ningún parámetro ) y la sobrecarga de parámetros ( que define una función con parámetros ) son posibles.

El operador ( + ) se define tanto para la suma como para la concatenación ( vinculación ) en el caso de la sobrecarga del operador. Además, el tipo de retorno de los parámetros no tiene que ser el mismo.

El proceso de sobrecarga se conoce como polimorfismo ( usando lo mismo en una forma separada mientras se compila ). Como resultado, se conoce como polimorfismo en tiempo de compilación.

Ejemplo de sobrecarga de un constructor

Te puede interesar:  Diferencia entre TCP y UDP

Clase X

{

Int a;

X ( ),

{

a = 10;

}

X ( int x );

{

a = x;

}

}

Clase Y

{

público estático vacío principal ( args )

{

X obj = nuevo X ( );

X obj1 = nuevo X ( 100 );

Sistema.out.println ( obj.a ” “ );

System.out.println ( obj1.a ” “ );

}

}

En el ejemplo anterior, el constructor X aparece dos veces. La primera vez no hubo discusión, y la segunda vez hubo un parámetro. Los objetos distintos ( obj, obj1 ) existen para indicar valores. Del mismo modo, uno puede usar funciones y operadores en el concepto de sobrecarga.

¿Qué es anular?

Bajo la herencia de clase, los programadores usan métodos que anulan ( cuando las propiedades de una clase se heredan en otra ). Si una subclase o clase de niño no está satisfecha con la ejecución de los métodos de la superclase o del padre mientras hereda, la subclase puede anular su función.

Para anular, el método o la función en ambos, la clase debe ser la misma junto con los parámetros definidos. Además, el tipo de retorno y el alcance deben ser idénticos en ambas clases.

Sin embargo, hay dos limitaciones para anular. La primera es que los codificadores no pueden anular la función estática de una súper clase. Otra desventaja es si el tipo de función en la clase principal se declara como final. En una subclase, no es posible anularlo.

Entendamos con un ejemplo:

Clase Super

{

muestra vacía ( );

{

system.out.println ( ” SOBRERIDE ” );

}

}

Clase Sub se extiende Super

{

muestra vacía ( );

{

system.out.println ( ” OVER ” );

}

}

Anulación de clase

{

red estática pública ( cadena , args ( ) )

{

Sub s = nuevo Sub ( );

s.show ( );

}

}

La salida del ejemplo anterior será ( OVER ). Significa que solo aparecerá la salida de una subclase porque la subclase ( Sub ) ha anulado la superclase ( Super ). No habrá resultados de la clase principal allí. Además, la función ( show ) tiene el mismo tipo de retorno, alcance y argumentos.

Te puede interesar:  Diferencia entre software y desarrollo web

Diferencias principales entre sobrecarga y anulación

  1. La sobrecarga puede ocurrir dentro de una sola clase o en múltiples clases. Para anular la función, debemos crear al menos dos clases.
  2. La sobrecarga no es posible en el lenguaje de programación C. Sin embargo, anular no es factible cuando una de las funciones de la clase principal es estática o final.
  3. La sobrecarga también se conoce como polimorfismo en tiempo de compilación. Por otro lado, la anulación se realiza en tiempo de ejecución ( conocido como polimorfismo en tiempo de ejecución ).
  4. El tipo de retorno puede cambiar mientras el programa se ejecuta con sobrecarga. Sin embargo, al emplear anulación, esto no es posible.
  5. La sobrecarga facilita el programa para los codificadores. Por el contrario, la anulación se realiza si el codificador no está satisfecho con los valores de la clase principal.

Síntesis

Múltiples técnicas o métodos están disponibles para el desarrollador mientras realiza una aplicación. Los métodos se pueden usar en tiempo de compilación ( durante la transformación del código fuente en el código intermedio ) o en tiempo de ejecución ( para ejecutar el código ).

La sobrecarga es un concepto vital en lenguajes como Java. Con la ayuda de sobrecarga, la función, los constructores y los operadores ya no tienen que definirse cada vez con el nuevo nombre. Uno puede utilizar los mismos métodos pasando diferentes argumentos. Con la ayuda de anular, el codificador puede redefinir la función en subclases si siente que la función de la clase principal no es satisfactoria.

  1. https://link.springer.com / capítulo / 10.1007 / 978-3-642-14107-2_25
  2. https://dl.acm.org/doi/abs/10.1145/1141277.1141608

Contenido

12 comentarios en «Diferencia entre sobrecarga y anulación»

  1. Pingback: N-N DMT For Sale
  2. Pingback: auto swiper
  3. You’re truly a good webmaster. The website loading speed is amazing.

    It kind of feels that you are doing any distinctive trick.
    In addition, the contents are masterpiece. you’ve performed a great task in this topic!
    Similar here: sklep online and also here: E-commerce

    Responder
  4. Hi! Do you know if they make any plugins to assist with SEO?

    I’m trying to get my site to rank for some targeted
    keywords but I’m not seeing very good success. If you know of any please share.

    Kudos! You can read similar article here: Auto Approve List

    Responder
  5. Wow, marvelous weblog format! How lengthy have you ever been running a blog for?
    you made blogging look easy. The total glance of your site is fantastic, as neatly as the content!
    I saw similar here prev next and those was wrote by Alesha05.

    Responder

Deja un comentario