Mikä on menetelmän ylikuormitus Pythonissa ja miten se toimii?



Tässä artikkelissa kerrotaan, mikä on python-menetelmän ylikuormitus ja miten se toimii. Menetelmää voidaan selittää perusteellisesti kahdella eri tavalla.

Kahdella menetelmällä ei voi olla samaa nimeä . Menetelmän ylikuormitus Pythonissa on ominaisuus, jonka avulla sama operaattori voi olla eri merkityksillä. Tässä artikkelissa tarkastellaan Pythonin menetelmän ylikuormitusominaisuutta ja miten sitä käytetäänylikuormittamalla menetelmiä seuraavassa järjestyksessä:

Mikä on ylikuormitus?

Ylikuormitus on funktion tai käyttäjän kyky käyttäytyä eri tavoin parametrien perusteella, jotka välitetään käyttäjälle tai operandit, joihin operaattori vaikuttaa.





Jotkut etuja ylikuormituksen käytöstä ovat:

  • Menetelmän ylikuormitus edistää uudelleenkäytettävyyttä. Esimerkiksi useiden vain vähän erilaisten menetelmien kirjoittamisen sijaan voimme kirjoittaa yhden menetelmän ja ylikuormittaa sitä.



  • Ylikuormitus parantaa myös koodin selkeyttä ja eliminoi monimutkaisuuden.

Ylikuormitus on erittäin hyödyllinen käsite. Sillä on kuitenkin useita haittoja liittyy siihen.

  • Ylikuormitus voi aiheuttaa sekaannusta, kun sitä käytetään kaikkialla rajoja. Liiallisen käytön aikana ylikuormitettujen toimintojen hallinta on hankalaa.



Menetelmä Ylikuormitus Pythonissa

Pythonissa voit luoda menetelmän, jota voidaan kutsua eri tavoin. Joten, sinulla voi olla menetelmä, jolla on nolla, yksi tai useampi parametrien määrä. Menetelmämäärittelystä riippuen voimme kutsua sitä nollalla, yhdellä tai useammalla argumentilla.

mikä on ero html: n ja xml: n välillä

Yhdellä menetelmällä tai toiminnolla voit määrittää parametrien lukumäärän. Tätä prosessin kutsumista samalle menetelmälle eri tavoin kutsutaan menetelmän ylikuormitukseksi.

Menetelmän ylikuormitusesimerkkejä

Nyt kun tiedät, mikä on menetelmän ylikuormitus Pythonissa, ottakaamme esimerkki. Tässä luomme luokan, jolla on yksi Hei() . Tämän menetelmän ensimmäiseksi parametriksi on asetettu Ei mitään. Tämä antaa meille mahdollisuuden kutsua sitä parametrilla tai ilman.

Objekti luodaan myös luokan perusteella ja kutsumme sen menetelmää nollan ja yhden parametrin avulla.

Esimerkki 1:

#! / usr / bin / env python-luokka Henkilö: def Hei (itse, nimi = Ei mitään): jos nimi ei ole Ei mitään: tulosta ('Hei' + nimi) muu: tulosta ('Hei') # Luo ilmentymä obj = Henkilö () # Kutsu menetelmää obj.Hello () # Kutsu metodia parametrilla obj.Hello ('Edureka')

Tuotos:

Hei Hei Edureka

Menetelmän ylikuormituksen selventämiseksi voimme nyt kutsua menetelmää Hello () kahdella tavalla:

obj hei () obj hei ('Edureka')

Yllä olevassa esimerkissä olemme luoneet menetelmän, joka voidaan kutsua vähemmän argumenteilla kuin se on määritelty sallimaan. Lisäksi se ei rajoitu kahteen muuttujat ja menetelmälläsi voi olla enemmän muuttujia, jotka ovat valinnaisia.

Otetaan nyt toinen esimerkki ymmärtää menetelmän ylikuormitus sisään .

Esimerkki 2:

Seuraavassa esimerkissä ylikuormitamme aluemenetelmää. Jos argumenttia ei ole, se palauttaa arvon 0. Ja, jos meillä on yksi argumentti, se palauttaa arvon neliön ja olettaa, että lasket neliön pinta-alan. Lisäksi, jos meillä on kaksi argumenttia, se palauttaa kahden arvon tuloksen ja olettaa, että lasket suorakulmion alueen.

# class class Laske: # area method def area (itse, x = Ei mitään, y = Ei mitään): jos x! = Ei mitään ja y! = Ei mitään: return x * y elif x! = Ei mitään: return x * x else: return 0 # object obj = Laske () # nolla argumenttitulostus ('Area Value:', obj.area ()) # one argument print ('Area Value:', obj.area (4)) # two argument print ('Area Arvo: ', obj. Alue (3, 5))

Yllä oleva koodi antaa meille seuraavan lähtö:

Alueen arvo: 0 Alueen arvo: 16 Alueen arvo: 15

Tämän avulla olemme päässeet artikkelimme loppuun. Toivon, että ymmärrät, mikä on menetelmä ylikuormitus pythonissa ja miten se toimii.

Saadaksesi syvällistä tietoa pythonista sen eri sovellusten kanssa, voit ilmoittautua livenä kirjoittanut Edureka 24/7 tuella ja käyttöikällä.

Onko sinulla kysymys meille? Mainitse se tämän 'Method Overloading in Python' -blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.