Gyakorlati alapok II.
(main() + külön eljárás / függvény)
Bevezetés
Az előző, a Gyakorlati alapok I. (minden a main() főprogramban) című fejezetcsomag kizárólag olyan Java-programokat tartalmazott, amelyek kódsorai szekvenciálisan, felülről lefelé haladva, a kódok között "nem ugrálva" kerültek megírásra és végrehajtásra.
A tanulónak az ilyen jellegű programkódot a legkönnyebb megalkotnia, követnie, elemeznie.
Következésképpen minden programvégrehajtás nagyjából így nézett ki:
-
utasítás
-
utasítás
-
utasítás
-
utasítás
-
utasítás
-
stb.
Ebben a fejezetcsomagban észrevesszük, majd aktívan felhasználjuk azt az óriási kódrendezési lehetőséget, hogy bizonyos kódok a main() függvényen, azaz főprogramon kívül lehessenek.
Ám egyúttal azt is vegyük észre, hogy ekkor még mindig a legfelül definiált Main osztályon belül vagyunk (ennek majd később lesz jelentősége).
No de mi értelme ennek?
Sok, igen hatásos érv szól emellett, amelyeket fokozatosan, a fejezetcsomag folyamatos feldolgozásakor fogunk felfedezni, ám van közülük egy, amely itt is könnyen megérthető.
Az objektumorientált programozás egyik kulcsfontosságú ismérve, hogy egy adott funkciójú kód csakis egyszer forduljon elő. Tágabb értelemben: adott funkciójú kódot csakis egyszer szabad megírnunk.
Ezen követelmény kicsit másképpen: elméletileg ugyanaz a funkció a kódban kétszer nem fordulhat elő.
Ezzel rengeteg saját időt és energiát, valamint jelentős processzoridőt és kódméretet tudunk megtakarítani, illetve a funkciók szegmentálása miatt a kód rendezettebbé, jobban olvashatóvá, sőt: ezáltal magasabb rendezési szempontok alapján is rendszerezhetővé válik.
Ebben a fejezetcsomagban a kódok egyre bonyolultabb, funkcionális szétbontását main() + külön eljárás / függvény vagy külön metódus névvel fogom illetni. Az alábbi rövid példakódokban ezen szemlélet fokozatos elsajátítására teszünk kísérletet.
-
Amikor a hócipőnk tele van és előbb ki akarunk lépni (a függvényből)
-
BMI →
Lottó →
-
Különutas háromszögezés Héron-képlettel, ellenőrzéseskedéssel
-
Rekurzió (a tiédet!)
-
Kis meteorológia →
-
Római-arab számváltás →
-
Kivételesen beszéljünk a kivételkezelésről →
-
A szignatúra és a metódus-túlterhelés →
-
Bemenet - kimenet (alapszintű IO) →
-
Filekezelés →