Gyakorlati alapok II.

A szignatúra és a metódus-túlterhelés

 

A szignatúra

 

Lehetőségünk van a Java nyelven belül arra, hogy egy metódusnevet többször is felhasználjunk.

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

Egy metódust ugyanis nemcsak a neve azonosít be kizárólagosan, hanem egyéb deklarált jellemzői is, főként bemeneti paramétereinek típusa és száma. Egyes szakkönyvek ezt az összetett azonosítási arculatot a metódusok szignatúrájának nevezik.

 

Rögtön ugorjunk is bele egy jellemző példába!

Adott 4 db muvelet nevű metódus (+ 1 kötelező main()). Láthatóan a 4 db muvelet nevű metódus nevében azonos, azonban bemeneti paramétereikben és kimeneti jellemzőikben különbözőek. Ha a metódushívások paraméterei pontosan vannak megadva (és a következő fejezetben tárgyalt túlterhelés esetén valójában csakis erre kell fokozottan ügyelnünk), akkor ez alapján képes a JVM kiválasztani a megfelelő metódust. Az érthetőség kedvéért készítsünk egy gyors listát a metódusokról:

Mindemellett fontos kihangsúlyozni a következőket:

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

a szignatúra kiértékelésébe nem tartozik bele a metódus kimeneti típusa!

 

Például a következő deklaráció esetén (muvelet(int a) azonosak)...

 

static int muvelet(int a){
    return a * a;
}
 

static int muvelet(int a){
    return a + a;
}
 

...fordítási hibaüzenetet fogunk kapni.

 

Mivel a szignatúra és a metódus-túlterhelés szorosan összetartozó fogalmak, ugorjunk a következő fejezetbe, mert ott ezt már futtatható Java-kódon keresztül is tanulmányozhatjuk.