Hvad er metodeoverbelastning i Python, og hvordan det fungerer?



Denne artikel forklarer, hvad der er metodeoverbelastning i python, og hvordan det fungerer. Der er to forskellige eksempler for at forklare metoden i dybden.

To metoder kan ikke have samme navn i . Metodeoverbelastning i Python er en funktion, der gør det muligt for den samme operatør at have forskellige betydninger. I denne artikel vil vi se på funktionen til overbelastning af metoder i Python, og hvordan den bruges tiloverbelastning af metoderne i følgende rækkefølge:

Hvad er overbelastning?

Overbelastning er en funktions eller operatørs evne til at opføre sig på forskellige måder baseret på de parametre, der sendes til , eller de operander, som operatøren handler på.





Nogle af fordele brug af overbelastning er:

java hvad er et token
  • Overbelastning af en metode fremmer genanvendelighed. For eksempel i stedet for at skrive flere metoder, der kun adskiller sig lidt, kan vi skrive en metode og overbelaste den.



  • Overbelastning forbedrer også kodens klarhed og eliminerer kompleksitet.

Overbelastning er et meget nyttigt koncept. Det har dog et antal ulemper forbundet med det.

  • Overbelastning kan skabe forvirring, når den bruges på tværs grænser. Når det bruges for meget, bliver det besværligt at styre overbelastede funktioner.



Metodeoverbelastning i Python

I Python kan du oprette en metode, der kan kaldes på forskellige måder. Så du kan have en metode, der har nul, en eller flere parametre. Afhængigt af metodedefinitionen kan vi kalde det med nul, et eller flere argumenter.

Givet en enkelt metode eller funktion kan antallet af parametre specificeres af dig. Denne proces med at kalde den samme metode på forskellige måder kaldes metodeoverbelastning.

Eksempler på metodeoverbelastning

Nu hvor du ved, hvad der er metodeoverbelastning i Python, lad os tage et eksempel. Her opretter vi en klasse med en Hej() . Den første parameter for denne metode er indstillet til Ingen. Dette giver os mulighed for at kalde det med eller uden en parameter.

hvordan man håndterer popup i selen

Et objekt oprettes også baseret på klassen, og vi kalder dens metode ved hjælp af nul og en parameter.

Eksempel 1:

#! / usr / bin / env python klasse Person: def Hej (selv, navn = Ingen): hvis navn ikke er Ingen: udskriv ('Hej' + navn) ellers: udskriv ('Hej') # Opret forekomst obj = Person () # Ring til metoden obj.Hello () # Ring til metoden med en parameter obj.Hello ('Edureka')

Produktion:

Hej Hej Edureka

For at afklare metodeoverbelastning kan vi nu kalde metoden Hej () på to måder:

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

I ovenstående eksempel har vi oprettet en metode, der kan kaldes med færre argumenter, end den er defineret til at tillade. Det er heller ikke begrænset til to variabler og din metode kan have flere variabler, som er valgfri.

Lad os nu tage en anden eksempel at forstå metodeoverbelastning i .

javascript længde af en matrix

Eksempel 2:

I det følgende eksempel overbelaster vi områdemetoden. Hvis der ikke er noget argument, returnerer det 0. Og hvis vi har et argument, returnerer det kvadratet af værdien og antager, at du beregner arealet af en kvadrat. Også, hvis vi har to argumenter, returnerer det produktet af de to værdier og antager, at du beregner arealet af et rektangel.

# klasseklasse Beregn: # områdemetode def område (selv, x = Ingen, y = Ingen): hvis x! = Ingen og y! = Ingen: return x * y elif x! = Ingen: return x * x andet: return 0 # object obj = Compute () # zero argument print ('Area Value:', obj.area ()) # one argument print ('Area Value:', obj.area (4)) # two argument print ('Area Værdi: ', obj. Område (3, 5))

Ovenstående kode giver os følgende produktion:

Arealværdi: 0 Arealværdi: 16 Arealværdi: 15

Med dette er vi kommet til slutningen af ​​vores artikel. Jeg håber du forstod, hvad der er metodeoverbelastning i python, og hvordan det fungerer.

For at få dybdegående viden om python sammen med dens forskellige applikationer kan du tilmelde dig live af Edureka med support døgnet rundt og adgang til hele livet.

Har du et spørgsmål til os? Nævn det i kommentarfeltet på denne 'Metodeoverbelastning i Python' -blog, og vi vender tilbage til dig hurtigst muligt.