A J# programozási nyelv

Alprogramok, modulok



Szintaxis

Mivel a nyelv teljesen objektum-orientált, így minden kódrészletnek valamely osztály belsejében kell elhelyezkednie. Legfelsőbb szinten csak osztálydefiníciók lehetnek. Az osztályokon belül van lehetőség alprogramok készítésére. Erre pedig csak a függvény programkonstrukció adott, ill. az osztály lértehozása (lásd az Objektum-orientált programozás c. fejezetet).

Egy függvénynek van neve, paraméterlistája, visszatérési értéke, láthatósága, különféle módosítói, kiváltható kivételek listája és magvalósítása. A függvény szignatúrájába csak a neve és paramétereinek típusa tatozik bele.

Szintaxis:

    láthatóság módosítók 
    visszatérési_típus függvénynév(típus paraméternév (, típus paraméternév)*) 
    [throw kivétel_típus (, kivétel_típus)*]
    [ { 
        utasítások
        return kifejezés;
    } ]
Ahol:
public static void main (String[] args) { System.out.println ("Hello World"); }

Paraméterátadás

Alapvetően két féle paraméterátadási mód van, ami megfelel a két féle típusnak. Azaz az elemi típusok érték szerint adódnak át, a referencia típusok pedig referencia szerint.

Túlterhelés

A függvényparamétereknek nem adhatunk alapértelmezett értékeket (default paraméter). Helyette viszont lehet azonos nevű, de külőnböző típusú paraméterlistával rendelkező függvényeket deklarálni. Azért csak a paraméterlista alapján lehet túlterhelést készíteni, ugyanis a függvény szignatúrájába csak ezek tartoznak bele, hiszen a visszatérési értéket nem vagyunk kötelesek elmenteni.

public int max(int a, int b) { return a<b ? b : a; } public double max(double a, double b) { return a<b ? b : a; }