Què és la sobrecàrrega de mètodes a Python i com funciona?



En aquest article s’explica què és la sobrecàrrega de mètodes a Python i com funciona. Hi ha dos exemples diferents per explicar el mètode en profunditat.

Dos mètodes no poden tenir el mateix nom a . La sobrecàrrega de mètodes a Python és una característica que permet al mateix operador tenir significats diferents. En aquest article, veurem la funció de sobrecàrrega de mètodes a Python i com s’utilitzasobrecarregant els mètodes, en la següent seqüència:

Què és la sobrecàrrega?

Sobrecàrrega és la capacitat d'una funció o d'un operador de comportar-se de maneres diferents en funció dels paràmetres que es transmeten al fitxer , o els operands sobre els quals actua l'operador.





Alguns dels avantatges d'utilitzar la sobrecàrrega són:

  • La sobrecàrrega d’un mètode afavoreix la reutilització. Per exemple, en lloc d’escriure diversos mètodes que difereixen lleugerament, podem escriure un mètode i sobrecarregar-lo.



  • La sobrecàrrega també millora la claredat del codi i elimina la complexitat.

La sobrecàrrega és un concepte molt útil. Tanmateix, té una sèrie de desavantatges associat amb ell.

  • La sobrecàrrega pot crear confusió quan s’utilitza a través límits. Quan s’utilitza excessivament, resulta complicat gestionar les funcions sobrecarregades.



Mètode de sobrecàrrega a Python

A Python, podeu crear un mètode que es pugui anomenar de diferents maneres. Per tant, podeu tenir un mètode que tingui zero, un o més paràmetres. Depenent de la definició del mètode, podem anomenar-lo amb zero, un o més arguments.

Donat un sol mètode o funció, podeu especificar el nombre de paràmetres. Aquest procés de cridar el mateix mètode de maneres diferents s’anomena sobrecàrrega de mètode.

diferències entre classe abstracta i interfície

Exemples de sobrecàrrega de mètodes

Ara que ja sabeu què és la sobrecàrrega de mètodes a Python, posem un exemple. Aquí, creem una classe amb una Hola() . El primer paràmetre d'aquest mètode s'estableix en Cap. Això ens donarà l'opció de trucar-lo amb o sense paràmetre.

També es crea un objecte basat en la classe i anomenarem el seu mètode mitjançant zero i un paràmetre.

Exemple 1:

#! / usr / bin / env python class Persona: def Hola (auto, nom = Cap): si el nom no és Cap: imprimeix ('Hola' + nom) else: imprimeix ('Hola') # Crea una instància obj = Persona () # Crida al mètode obj.Hello () # Truca al mètode amb un paràmetre obj.Hello ('Edureka')

Sortida:

Hola Hola Edureka

Per aclarir la sobrecàrrega del mètode, ara podem trucar al mètode Hello () de dues maneres:

obj.Hello () obj.Hello ('Edureka')

A l'exemple anterior, hem creat un mètode que es pot cridar amb menys arguments dels que es defineix per permetre. A més, no es limita a dos variables i el vostre mètode pot tenir més variables opcionals.

Ara en prenem un altre exemple per entendre la sobrecàrrega del mètode a .

Exemple 2:

A l'exemple següent, sobrecarregarem el mètode de l'àrea. Si no hi ha argument, retorna 0. I, si tenim un argument, retorna el quadrat del valor i assumeix que esteu calculant l'àrea d'un quadrat. A més, si tenim dos arguments, retorna el producte dels dos valors i assumeix que esteu calculant l'àrea d'un rectangle.

# class class Compute: # area method 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 argument print ('Valor d'àrea:', obj.area ()) # un argument print ('Valor d'àrea:', obj.area (4)) # two argument print ('Area Valor: ', obj.area (3, 5))

El codi anterior ens proporcionarà el següent sortida:

Valor de superfície: 0 Valor de superfície: 16 Valor de superfície: 15

Amb això, hem arribat al final del nostre article. Espero que hagueu entès què és la sobrecàrrega de mètodes a Python i com funciona.

Per obtenir coneixements en profunditat sobre Python juntament amb les seves diverses aplicacions, podeu inscriure-us a la publicació per Edureka amb assistència les 24 hores del dia, els 7 dies de la setmana i accés permanent.

Tens alguna pregunta? Si us plau, mencioneu-ho a la secció de comentaris d’aquest bloc “Sobrecàrrega de mètodes a Python” i us respondrem el més aviat possible.

què és un mètode javascript