1. kamerák
  2. Car Audio & Electronics
  3. Home Audio
  4. Personal Audio
  5. TV-k
  6. Okos otthon
  >> Elektronikai Technológia Online >  >> Okos otthon >> Okos élet

A Java túlterhelési módszer előnyei és hátrányai

A túlterhelt metódusok ugyanabban az osztályban lévő metódusok, amelyeknek ugyanaz a neve, de különböző változótípusokat fogadnak el argumentumként. Például egy osztály tartalmazhat két különböző "add" metódust:az egyiket, amely két dupla értéket fogad el, az "add(double a, double b)" és a másikat, amely két egész értéket fogad el, az "add(int a, int b). " A számítógép a metódusnak átadott változótípusok alapján automatikusan eldönti, hogy melyik metódust hívja meg futás közben.

Rugalmasság

A túlterhelt metódusok rugalmasságot biztosítanak a programozóknak, hogy hasonló metódusokat hívjanak meg a különböző típusú adatokhoz. Ha például egy matematikai programmal dolgozik, a túlterhelést használhatja több „szorzás” osztály létrehozásához, amelyek mindegyike más-más típusú argumentumot szoroz meg:a legegyszerűbb „multiply(int a, int b)” szoroz kettőt. egész számok; a bonyolultabb "szorzás(double a, int b, int c)" metódus megszoroz egy duplát két egész számmal -- ezután meghívhatja a "szorzást" bármely olyan változókombinációra, amelyhez túlterhelt metódust hozott létre, és megkapja a megfelelő eredményt.

Konstruktorok

A túlterhelést a konstruktorok is használják új objektumok létrehozására különböző adatmennyiség mellett. Például a túlterhelés segítségével három különböző konstruktort hozhat létre egy "Ház" objektumhoz házszámmal, utcanévvel és színváltozókkal. A legegyszerűbb "House()" konstruktor nem vesz fel argumentumokat, és létrehoz egy házat alapértelmezett vagy üres változókkal. Egy összetettebb konstruktor, a "House(int houseNumber, String streetName)" létrehoz egy házat a megadott házszámmal és utcanévvel, de alapértelmezett vagy üres színnel. A legbonyolultabb konstruktor, a "Ház(int házszám, string utcanév, karakterlánc színe)" létrehoz egy házat az összes megadott információval, semmit nem hagyva alapértelmezettként. Ezután létrehozhat egy házobjektumot a jelenleg rendelkezésre álló információk alapján, a nem elérhető információkat üresen hagyva vagy alapértelmezés szerint.

Kétértelmű hivatkozások

A túlterhelt metódusoknak különböző számú vagy típusú argumentumot kell használniuk a kétértelműség elkerülése érdekében. Ha ugyanabban az osztályban két metódust hoz létre, amelyeknek azonos a neve, és két egész számot fogad el argumentumként, a Java fordító nem tud különbséget tenni a kettő között, még akkor sem, ha a bemeneti változók neve eltérő. Például az "add(int a, int b)" metódus nem létezhet ugyanabban az osztályban, mint az "add(int c, int d)."

Visszaküldési típusok

Minden túlterhelt metódushoz meg kell határoznia egy visszatérési típust. A metódusoknak különböző visszatérési típusai lehetnek – például az "add(int a, int b)" egész számot ad vissza, míg az "add(double a, double b)" egy doublet. A Java azonban nem tud különbséget tenni két különböző módszer között a visszatérési típusuk alapján. Ezért az "int multiply(double a, double b)" nem létezhet ugyanabban az osztályban, mint a "double multiply(double a, double b)."


  1. Az előnyei és hátrányai frakcionált desztilláció
  2. Előnyök & Hátrányai a Mobile Internet
  3. A GoToMeeting előnyei és hátrányai
  4. A Java virtuális gépek előnyei és hátrányai
  5. A nagyszámítógépek előnyei és hátrányai