Alprogram szintaktikája
Az alprogram egy elkülönült, önálló feladattal rendelkező programegység. Az alprogramoknak van azonosítójuk (nevük), és lehetnek paramétereik.
Az alprogramok lehetnek eljárások és függvények. A függvényeknek garantáltan elő kell állítaniuk egy új értéket, mely érték típusát definiálni kell. Ezt a típust röviden a függvény visszatérési típusának nevezzük, valójában a függvény visszatérési értékének a típusáról van szó.
Az alprogram általános alakja:
static <típusnév> <alprogramnév>( <formális paraméterlista> )
{
< alprogram utasítástörzse >
}
Eljárások esetén a <típusnév> mindig void. Függvények esetén valamely már korábban definiált típusnevet lehet használni.
A formális paraméterlista típusnév és változónév párokból álló lista. Lehet üres is, ekkor azt mondjuk, hogy az alprogramnak nincsenek paraméterei.
Az utasítástörzsben kell megadni azokat az utasításokat, amelyek felelősek az alprogram feladatának ellátásáért.
Pl:
static void Kiiras( int[] v )
{
for (int i=0;i<v.Length;i++)
Console.WriteLine(”A vektor {0}. eleme={1}”, i, v[i] );
}
Az alprogram egy elkülönült, önálló feladattal rendelkező programegység. Az alprogramoknak van azonosítójuk (nevük), és lehetnek paramétereik.
Az alprogramok jellemzően adatokat dolgoznak fel, és újabb adatokat állítanak elő. Egy-egy ilyen alprogram egy-egy részfeladatot lát le. A teljes probléma megoldását a részfeladatok megfelelő sorrendben történő feldolgozásával tudjuk megoldani.
Az alprogramok a feldolgozandó adatokat:
- a program változóiban elhelyezve találhatja,
- paraméterként kaphatja meg,
- külső helyről önállóan szerezheti be.
Az alprogram az új, előállított adatokat:
- elhelyezheti a program változóiban,
- visszaadhatja visszatérési értékként,
- kimenő paraméterekbe helyezheti el,
- külső helyre önállóan tárolhatja.
Alprogram hívása
Az alprogram egy elkülönült, önálló feladattal rendelkező programegység. Az alprogramoknak van azonosítójuk (nevük), és lehetnek paramétereik.
Az alprogramok a nevük segítségével aktiváljuk.
<alprogramnév>( <aktuális paraméterek listája> );
A név után aktuális paraméterlistát kell írni, melyben a paraméterváltozók értékeit adjuk át az alprogram számára. Mindig megfelelő mennyiségű és típusú értéket kell az alprogram felé átadni a híváskor.
Amennyiben az alprogramnak nincs paramétere, úgy nekünk a híváskor nem kell átadni értékeket, de a két kerek zárójelet mindenképpen ki kell tenni.
Pl.:
static void Kiiras1( int[] v )
{
for (int i=0;i<v.Length;i++)
Console.WriteLine(”A vektor {0}. eleme={1}”, i, v[i] );
}
… alprogramot aktiválni a:
int[] t = new int[6] { 4, 8, 3, 7, 8, 3 }; // a ’t’ vektor feltöltése elemekkel
Kiiras1( t );
… módon lehet. Ez esetben a v paraméterváltozó értéke a híváskor megadott vektor, a t vektr lesz.
Alprogram hívása ha az másik osztályban van
Az alprogram egy elkülönült, önálló feladattal rendelkező programegység. Az alprogramoknak van azonosítójuk (nevük), és lehetnek paramétereik.
Az alprogramokat a nevük segítségével aktiváljuk:
<alprogramnév>( <aktuális paraméterek listája> );
Amennyiben az alprogram egy másik objektumosztályban került definiálásra, úgy a static kulcsszó előtt szerepelnie kell a public szónak is.
Az ilyen alprogramok meghívásakor a név elé ki kell tenni azt is, hogy melyik osztályban van ez az alprogram definiálva. Az osztály nevét és az alprogram nevét ponttal (.) kell elválasztani:
Pl:
class Vektorok
{
public static void Kiiras1( int[] v )
{
…..
}
}
class Példák_06
{
public static void Main()
{
int[] t = new int[6] { 4, 8, 3, 7, 8, 3 };// a ’t’ vektor elemeinek feltöltése
Vektorok.Kiiras1( t ); // !!! itt a lényeg !!!
// … és fut tovább ez az alprogram
}
}
Alprogram hívása másik névtérben
Az alprogram egy elkülönült, önálló feladattal rendelkező programegység. Az alprogramoknak van azonosítójuk (nevük), és lehetnek paramétereik.
Amennyiben az alprogram egy másik objektumosztályban került definiálva, úgy a static kulcsszó előtt szerepelnie kell a public szónak is.
Az ilyen alprogramok meghívásakor a név elé ki kell tenni azt is, melyik osztályban van ez az alprogram. Az osztály nevét és az alprogram nevét ponttal (.) kell elválasztani.
Amennyiben az osztály másik névtérben lenne, úgy a névtér nevét is bele kell foglalni a híváskori névmegadásba:
Pl.:
namespace Kollekciok
{
class Vektorok
{
public static void Kiiras1( int[] v ){…..….}
}
}
namespace Példák_06
{
class Példák_06
{
public static void Main()
{
int[] t = new int[6] { 4, 8, 3, 7, 8, 3 }; // a ’t’ vektor elemeinek feltöltése
Kollekciok.Vektorok.Kiiras1( t );
// … és fut tovább ez az alprogram
}
}
}