Ce este supraîncărcarea metodelor în Python și cum funcționează?



Acest articol explică ce este supraîncărcarea metodelor în Python și cum funcționează. Există două exemple diferite pentru a explica metoda în profunzime.

Două metode nu pot avea același nume în . Supraîncărcarea metodelor în Python este o caracteristică care permite aceluiași operator să aibă semnificații diferite. În acest articol, vom arunca o privire asupra caracteristicii de supraîncărcare a metodelor din Python și despre modul în care este utilizatăsuprasolicitarea metodelor, în următoarea succesiune:

Ce este supraîncărcarea?

Suprasolicitare este capacitatea unei funcții sau a unui operator de a se comporta în moduri diferite pe baza parametrilor care sunt trecuți către , sau operanzii asupra cărora acționează operatorul.





Unele dintre avantaje de utilizare a suprasarcinii sunt:

  • Supraîncărcarea unei metode favorizează reutilizarea. De exemplu, în loc să scriem mai multe metode care diferă doar ușor, putem scrie o metodă și o putem supraîncărca.



  • Supraîncărcarea îmbunătățește, de asemenea, claritatea codului și elimină complexitatea.

Supraîncărcarea este un concept foarte util. Cu toate acestea, are un număr de dezavantaje asociat cu acesta.

  • Supraîncărcarea poate crea confuzie atunci când este utilizată pe tot limite. Când este utilizat excesiv, devine greoi să gestionezi funcțiile supraîncărcate.



Metoda de supraîncărcare în Python

În Python, puteți crea o metodă care poate fi apelată în moduri diferite. Deci, puteți avea o metodă care are zero, unul sau mai mulți parametri. În funcție de definiția metodei, o putem numi cu zero, unul sau mai multe argumente.

Având în vedere o singură metodă sau funcție, numărul parametrilor poate fi specificat de dvs. Acest proces de apelare a aceleiași metode în moduri diferite se numește supraîncărcare a metodei.

final finalizează definitiv în java

Exemple de metode de supraîncărcare

Acum, că știți ce este supraîncărcarea metodelor în Python, să luăm un exemplu. Aici, creăm o clasă cu una Buna ziua() . Primul parametru al acestei metode este setat la None. Acest lucru ne va oferi opțiunea de a-l apela cu sau fără parametru.

Un obiect este, de asemenea, creat pe baza clasei și vom numi metoda sa folosind zero și un parametru.

Exemplul 1:

#! / usr / bin / env python class Persoană: def Bună ziua (self, name = None): dacă numele nu este None: print ('Hello' + name) else: print ('Hello') # Create instance obj = Person () # Apelați metoda obj.Hello () # Apelați metoda cu un parametru obj.Hello („Edureka”)

Ieșire:

Bună ziua Bună Edureka

Pentru a clarifica supraîncărcarea metodei, acum putem apela metoda Hello () în două moduri:

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

În exemplul de mai sus, am creat o metodă care poate fi apelată cu mai puține argumente decât este definit să permită. De asemenea, nu se limitează la două variabile iar metoda dvs. poate avea mai multe variabile care sunt opționale.

Acum să luăm altul exemplu pentru a înțelege supraîncărcarea metodelor în .

Exemplul 2:

În exemplul următor, vom supraîncărca metoda zonei. Dacă nu există niciun argument, acesta returnează 0. Și, dacă avem un argument, atunci returnează pătratul valorii și presupune că calculezi aria unui pătrat. De asemenea, dacă avem două argumente, atunci returnează produsul celor două valori și presupune că calculezi aria unui dreptunghi.

# class class Calculați: # metoda zonei 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 ('Valoare zonă:', obj.area ()) # un argument print ('Valoare zonă:', obj.area (4)) # two argument print ('Area Valoare: ', obiect.area (3, 5))

Codul de mai sus ne va oferi următoarele ieșire:

Valoarea zonei: 0 Valoarea zonei: 16 Valoarea zonei: 15

Cu aceasta, am ajuns la sfârșitul articolului nostru. Sper că ați înțeles ce este supraîncărcarea metodei în python și cum funcționează.

Pentru a obține cunoștințe aprofundate despre python împreună cu diferitele sale aplicații, vă puteți înscrie pentru live de Edureka cu suport 24/7 și acces pe viață.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog „Metoda supraîncărcată în Python” și vă vom contacta cât mai curând posibil.

care este diferența dintre supraîncărcare și suprascriere