OOP-ban a tulajdonságoknak mi az értelme, ha 'get' és 'set' is be van állítva adott adattagra (alapértelmezetten, módosítás nélkül)? Különbözik-e bármiben attól, ha magát az adattagot publikussá tesszük és nem készítünk hozzá tulajdonságot?
Alapvetően nem, ha valóban semmi módosítás nincs a getterben és a setterben.
De a jövőben sok szívástól tudod megkímélni magad, ha mégis becsomagolod. Plusz az OOP egyik alapelve az egységbe zárás, ami pont azt is magába foglalja, hogy az adattagokat csak úgy nem hagyod hozzáférhetőként.
Arra kell törekedni, hogy az osztályaidnak ne legyenek kívülről hozzáférhető erőforrásai! Ha mindenáron kell publikus property annak is alapértelmezetten csak get ága legyen. Ez nem ökölszabály, de ha erre odafigyelsz, akkor az hosszú távon átláthatóbb és könnyen karbantartható kódot eredményez.
A property-knek egyéb feladatai is lehetnek. Pl eseményhívást lehet mögéjük rakni. Az eseményeken keresztül meg logolhatsz, vagy ellenőrizheted az esetleges inkonzisztenciákat, frissíthetsz grafikus és egyéb elemeket ... stb. WPF-ben elvileg csak property-t lehet bind-olni sima osztályváltozót nem.
"Különbözik-e bármiben attól, ha magát az adattagot publikussá tesszük és nem készítünk hozzá tulajdonságot?"
Nem különbözik, de az adat publikussá tétele veszélyforrás is egyben.
Igen és hogy miért veszélyforrás lásd az itteni válaszokat
https://www.gyakorikerdesek.hu/szamitastechnika__programozas..
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!