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