Mi az a konstruktor C#-ban es hogyan kell hasznalni?
Íme egy példa... Félig meddig értem, de mégse...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _0518fel1csop2
{
class Szemely
{
static int magassagKul = 10;
static int eletkorKul = 5;
string nev;
int magassag;
int kor;
public Szemely(string _nev, int _magassag, int _kor)
{
nev = _nev;
magassag = _magassag;
kor = _kor;
}
public Szemely(string _nev, int _kor)
{
nev = _nev;
kor = _kor;
magassag = 175;
}
static public int getMagassagKul()
{
return magassagKul;
}
static public void setMagassagKul(int _magassagKul)
{
magassagKul = _magassagKul;
}
static public int getEletkorKul()
{
return eletkorKul;
}
static public void setEletkorKul(int _eletkorKul)
{
eletkorKul = _eletkorKul;
}
public string getNev()
{
return nev;
}
public void setNev(string _nev)
{
nev = _nev;
}
public int getMagassag()
{
return magassag;
}
public void setMagassag(int _magassag)
{
magassag = _magassag;
}
public int getKor()
{
return kor;
}
public void setKor(int _kor)
{
kor = _kor;
}
}
}
A Public szemelyt miért írja a legelején egymás után kétszer kb, azzal a különbséggel, hogy a magassag=175?
Az objektumorientált program hasonló a mi világunkhoz. Ugye, ha akarunk egy új tárgyat csinálni a mi világunkban, akkor nem egyből nekikezdünk szabdalni mindenféle anyagot, hanem megtervezzük, hogyan is kell működnie, stb. Ez a terv (=osztály) egy papírlap, ami csak leírja, mit is kell a tárgynak tudnia, nem a ténylegesen használható, kész tárgy. A világunkban minden egyes tárgynak le kell írni, hogyan lehet elkészíteni/legyártani. Ezt a elkészítési/gyártási folyamatot leíró "valamit" (konkrétan metódust) nevezzük konstruktornak. Minden konstruktornak három dolgot kell megcsinálnia:
- helyet kell teremteni a világban a tárgynak (ami a gépen a memória lefoglalásával jár)
- át kell másolni a tervben leírt tulajdonságokat és viselkedéseket a lefoglalt helyre
- kezdőállapotba kell hozni a tárgyat (magyarul a tulajdonságok milyen értékkel rendelkezzenek a tárgy létrehozása után)
Az első kettő általában az object-ből örökölt konstruktor feladata, a programozó valójában csak az utolsó lépést írja le.
A metódusoknak két fajtája van:
- függvény
- eljárás
Az eljárás egy cselekvéssorozatot ír le, hogy hogyan lehet egy cselekvést elvégezni. Ennek végrehajtása során egy új állapot áll elő. Ha a napirendedet nézzük, az evés egy cselekvéssorozat, amely leírja, hogyan ehetsz meg valamit, amely azt az állapotot idézi elő, hogy már nem vagy éhes.
A függvény egy számítási módot ír le, hogy hogyan lehet valamilyen új értéket vagy tárgyat létrehozni (utóbbi csak az OOP-ben). Ennek a számítási módnak a végrehajtásakor egy eredmény jön létre, amelyet te később felhasználhatsz.
Az eljárás - mivel nem képez eredményt - mindig void-os a C-szerű nyelvekben, míg a függvény esetében - mivel eredményt állít elő - mindig meg kell határozni az eredmény típusát (pl. int, stb.).
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!