Gyakorlati alapok II.
Meghívható-e a függvény eljárásként?
Az előző néhány fejezetben tisztáztuk az eljárás és a függvény fogalmát, illetve megismertük alapszintű működésüket.
Ismétlésképpen: az eljárás olyan metódus, amelyiknek nincs visszatérési értéke (void), míg a függvénynek mindig van legalább 1.
Ezután nincs más hátra, mint feltenni a fából vaskarika készítésének kérdését:
Meghívható-e függvény eljárásként?
Gondoljunk bele, hogy mit is állítunk a kérdéssel: meghívjuk a függvényt, de nincs szükségünk az általa szolgáltatott visszatérési értékre. Olyan ez, mintha felhívnánk valakit telefonon, de aztán mégsem szólunk bele a kagylóba, azaz –nem számítva persze a telefonbetyárkodás bulihangulatát-, tökéletesen értelmetlen cselekedet. A fentiek bizonyítására nézzünk meg néhány futtatható Java-kódot!
Köztudottan 27 köbgyöke 3, amelyet az egyik beépített matematikai függvény segítségével (Math.cbrt) könnyen implementálhatunk. A függvény double típusú kimeneti adatot szolgáltat, amely eredményt mi most a double eredmeny változóba vezetünk bele (double eredmeny = Math.cbrt(27)):
import java.math.*;
public class Main {
public static void main(String[] args) {
double eredmeny = Math.cbrt(27);
System.out.println(eredmeny);
}
}
Végeredmény:
3.0
A kapcsolatot azonban bonthatjuk is, ekkor a Math.cbrt() függvényt "csak úgy" meghívjuk:
import java.math.*;
public class Main {
public static void main(String[] args) {
double eredmeny = 0;
Math.cbrt(27);
System.out.println(eredmeny);
}
}
Végeredmény:
0.0
A köbgyökszámító függvényt ugyan meghívtuk, de nem voltunk kíváncsiak visszatérési értékére. Jól látható, hogy eredmeny és Math.cbrt() között nincs semmiféle kapcsolat, ezért a végeredmény 0.
A kódnak azonban van 1 különlegessége: az értelmetlen függvényhívás ellenére is hiba nélkül lefut.