fel
le

Egyszerű alprogramok

A programozás módszere, hogy bontsuk le a problémát apróbb, kezelhető részekre, majd oldjuk meg a részeket, végül rakjuk össze belőle a teljes megoldást.

A részekre bontás egyik módja az alprogramok kialakítása. Alprogramoknak nevezzük azokat az önálló feladattal rendelkező kódrészeket, melyeknek nevük (és esetleg paramétereik) vannak. Az alprogramban lévő kód futását az alprogram nevének segítségével kell kezdeményezni.

Az eljárásnak

  • a visszatérési érték típusa kötelezően void,
  • van neve (azonosító),
  • lehetnek paraméterei,
  • van törzse.

Például:

static void Információ()
{
  Console.WriteLine("*******************");
  Console.WriteLine("** Példa program **");
  Console.WriteLine("Programozó: Kiss Aladár Béla");
  Console.WriteLine("Készült: 2004.11.23");
}
 

A fenti példában az eljárás neve ’Információ’, és saját utasításblokkja van (a ’{’ és ’}’ közötti rész). Az eljárás (egyelőre) ’static void’ legyen, és a zárójelpár megadása kötelező abban az esetben is, amennyiben nincsenek paraméterek.

Amennyiben a program adott pontján szeretnénk végre hajtani az eljárásban foglalt utasítássorozatot, úgy egyszerűen hivatkoznunk kell rá a nevével (eljárás indítása, eljárás meghívása):

1. ábra: Az eljáráshívás működése
static void Main(string[] args)
{
  Információ();
}
 

Ekkor az adott ponton az eljárás végrehajtásra kerül, majd a végrehajtás visszatér a hívást követő utasításra, és folytatódik a program futása:

Természetesen van rá lehetőség, hogy ne csak a Main()-ből hívjunk eljárásokat, hanem az eljárásokból is van lehetőség további eljárásokat hívni:

2. ábra: Eljárásból eljárás hívása

C#-ban az eljárások neve azonosító, ezért érvényes az azonosító névképzési szabálya: betűvel vagy aláhúzással kezdődik, betűvel, számjeggyel, aláhúzás karakterekkel folytatódhat (de nem tartalmazhat szóközt)! A C#-ban szabad ékezetes karaktereket is használni az eljárás-nevekben, de nem javasolt – karakterkészlet és kódlap függő forráskódot eredményez, e miatt másik gépen másik programozó által nehezen elolvashatóvá válik a forráskód.

Hová írjuk az eljárásainkat

Az Objektum Orientált programozás elvei szerint a programok építőkövei az osztályok. Az osztály (class) mintegy csoportba foglalja az egy témakörbe, feladatkörbe tartozó eljárásokat, függvényeket, változókat. E miatt a program felépítése a következő lehet:

using System;

namespace Tetszoleges_Nev
{
  class PeldaProgram
  {
    // Más eljárások ...
    static void Main(string[] args)
    {
      ...
    }
    // További eljárások ...
  }
}
 

Az egyéb eljárásainkat ugyanabba a csoportba (osztályba) kell megírni, mint ahol a Main() fv található. A sorrendjük azonban lényegtelen, mindegy, hogy a saját eljárásainkat a Main() fv előtt, vagy után írjuk le, illetve írhatjuk őket vegyes sorrendben is. Az eljárások egymás közötti sorrendje sem lényeges. Ami fontos, hogy közös osztályba (class) kerüljenek.

Hernyák Zoltán
2013-01-24 11:03:16