¿Qué es la sobrecarga de métodos en Python y cómo funciona?



Este artículo explica qué es la sobrecarga de métodos en Python y cómo funciona. Hay dos ejemplos diferentes para explicar el método en profundidad.

Dos métodos no pueden tener el mismo nombre en . La sobrecarga de métodos en Python es una característica que permite que el mismo operador tenga diferentes significados. En este artículo, veremos la función de sobrecarga de métodos en Python y cómo se usa parasobrecargando los métodos, en la siguiente secuencia:

¿Qué es la sobrecarga?

Sobrecarga es la capacidad de una función o de un operador de comportarse de diferentes maneras en función de los parámetros que se pasan al , o los operandos sobre los que actúa el operador.





Algunos de los ventajas de usar sobrecarga son:

  • Sobrecargar un método fomenta la reutilización. Por ejemplo, en lugar de escribir varios métodos que difieren solo ligeramente, podemos escribir un método y sobrecargarlo.



  • La sobrecarga también mejora la claridad del código y elimina la complejidad.

La sobrecarga es un concepto muy útil. Sin embargo, tiene una serie de desventajas asociado a ello.

  • La sobrecarga puede crear confusión cuando se usa en fronteras. Cuando se usa en exceso, se vuelve engorroso administrar funciones sobrecargadas.



Sobrecarga de métodos en Python

En Python, puede crear un método al que se pueda llamar de diferentes formas. Entonces, puede tener un método que tenga cero, uno o más parámetros. Dependiendo de la definición del método, podemos llamarlo con cero, uno o más argumentos.

Dado un solo método o función, usted puede especificar el número de parámetros. Este proceso de llamar al mismo método de diferentes formas se denomina sobrecarga de métodos.

Ejemplos de sobrecarga de métodos

Ahora que sabe qué es la sobrecarga de métodos en Python, tomemos un ejemplo. Aquí, creamos una clase con uno Hola() . El primer parámetro de este método se establece en Ninguno. Esto nos dará la opción de llamarlo con o sin parámetro.

También se crea un objeto basado en la clase y llamaremos a su método usando cero y un parámetro.

Ejemplo 1:

#! / usr / bin / env python class Person: def Hola (self, name = None): si el nombre no es None: print ('Hello' + name) else: print ('Hello') # Crear instancia obj = Person () # Llamar al método obj.Hello () # Llamar al método con un parámetro obj.Hello ('Edureka')

Salida:

Hola Hola Edureka

Para aclarar la sobrecarga de métodos, ahora podemos llamar al método Hello () de dos formas:

obj.Hola () obj.Hola ('Edureka')

En el ejemplo anterior, hemos creado un método que se puede llamar con menos argumentos de los que está definido para permitir. Además, no se limita a dos variables y su método puede tener más variables que son opcionales.

Ahora tomemos otro ejemplo para comprender la sobrecarga de métodos en .

Ejemplo 2:

En el siguiente ejemplo, sobrecargaremos el método del área. Si no hay ningún argumento, devuelve 0. Y, si tenemos un argumento, devuelve el cuadrado del valor y asume que está calculando el área de un cuadrado. Además, si tenemos dos argumentos, devuelve el producto de los dos valores y asume que está calculando el área de un rectángulo.

# class class Compute: # area método def area (self, x = None, y = None): if x! = None and y! = None: return x * y elif x! = None: return x * x else: return 0 # object obj = Compute () # zero argumento print ('Valor de área:', obj.area ()) # un argumento print ('Valor de área:', obj.area (4)) # dos argumentos print ('Área Valor: ', obj.area (3, 5))

El código anterior nos dará lo siguiente salida:

Valor de área: 0 Valor de área: 16 Valor de área: 15

Con esto, hemos llegado al final de nuestro artículo. Espero que haya entendido qué es la sobrecarga de métodos en Python y cómo funciona.

Para obtener un conocimiento profundo de Python junto con sus diversas aplicaciones, puede inscribirse en Live de Edureka con soporte 24/7 y acceso de por vida.

curriculum vitae de desarrollador de python de nivel de entrada

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este blog de 'Sobrecarga de métodos en Python' y nos comunicaremos con usted lo antes posible.