C# - Osztályok deklarációja

C# nyelv 10. rész

forráskód letöltése
Mostani cikkünktől kezdve elkezdünk foglalkozni az osztályok létrehozásával, kezelésével. Jelen cikkünkben azt vizsgáljuk, hogy milyen lehetőségeink vannak egy osztály deklarációja körül.
Egy új osztály létrehozásához három alapvető dologra van szükségünk. Meg kell adnunk a class kulcsszót, mely megmondja a fordítónak, hogy most egy új osztály deklarációját írjuk le. Ezután az osztályunk nevét kell megadni, végül pedig egy blokkot létrehozni a {} zárójelekkel, melyben az osztályunk további tulajdonságát írhatjuk le.
class A
{  
}
Ha már adott egy osztályunk, akkor lehetősünk van arra, hogy abból származtassunk egy újat. Ezt úgy tehetjük meg, hogy az új osztályunk neve után egy kettősponttal elválasztva megadjuk egy már létező osztály nevét. Alábbi példát tekintve ekkor a B osztály örökölni fogja az A osztály minden tulajdonságát.
class A
{  
}
class B: A
{  
}
Lehetőségünk van egy osztályt absztraktként deklarálni. Ebben az esetben az osztály tartalmazhat olyan függvényeket, melyekhez nincs kód rendelve. Ilyen osztályt csak ős osztályként lehet felhasználni, vagyis ilyen osztályból nem tudunk változót létrehozni, de felhasználható egy új osztály készítésekor, hogy az ebből származzon. Ekkor a leszármazott osztályban felülírhatjuk az imént megadott függvényt és már rendelhetünk hozzá kódot is. Ebben az esetben az abstract módosító jelzőt kell megadnunk a class kulcsszó előtt. Majd az osztályon belül létrehozhatjuk a szükséges függvény deklarációt, ahol szintén az abstract módosító jelzőt használjuk. A leszármazott osztályban az override kulcsszó megadásával írhatjuk felül az ős osztály absztrakt metódusát. A függvények deklarációiról a későbbiekben még lesz szó bővebben.
abstract class A
{
   public abstract int Func();
}
class B: A
{
   public override int Func() {
       return 5;     
   }
}
Ha olyan osztályt hozunk létre, melynél szeretnénk elérni azt, hogy ne lehessen ebből egy új osztályt származtatni, akkor ezt úgy tehetjük meg, hogy a class szó elé írjuk a sealed módosító jelzőt. Ennek hatására az adott osztály nem lehet más osztálynak őse. Így például az alábbi forráskód hibás.
sealed class A 
{
}
class B: A 
{
}         

C# nyelv cikksorozat