Egy osztály minden adattagjához kell setter/getter függvényeket írni?
Mi van akkor, ha konstruktor állítja be az értékeket, akkor azoknak nem kell külön setter függvény igaz?
Ha egy adat értékét nem akarom futtatás közben lekérdezni, dfe használni igen akkor nem kell hozzá getter függvény, vagy mégis?
Ezt a getter/setter dolgot főleg kezdőknek szokták tanítani. A jó megközelítés, ha kb sehol sincs. Egyedül adatosztályoknál lehet értelme, de ott is jellemzően getternek.
Ha pl van egy osztályod, ami összead két számot:
class Osszeado
{
private int num1; // nincs se getter, se setter
private int num2; // itt se.
public Osszeado(int num1, int num2)
{
this.num1 = num1;
this.num2 = num2;
}
public int GetEredmeny()
{ return num1+num2;}
}
Ok, ez egy nagyon bugyuta példa, de jellemzően hasonló felépítésű osztályokból áll egy komplex szoftver. Ilyen esetekben egyenesen antipatternnek számít telerakni getterrel és setterrel.
Lehet egy konstans, de lehet, hogy azt akarod, hogy csak az osztály módosíthassa, kívülről ne nyúljanak hozzá. Ekkor csak getter kell. Speciális eset a konstans, amit a konstruktor állít be, és ezt célszerű konstansnak is deklarálni.
A másik eset csak ritkább, mert hogy akarsz módosítani egy adattagot, ha utána nem férsz hozzá az értékhez? De ha mégis így van, akkor nem kell getter.
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!