2.5. Láthatósági szabályok

iDevice ikon

Az objektum-orientált programokban az adatokhoz történő hozzáférést (adatrejtést) láthatósági szabályok (visibility) befolyásolják. A konkrét programnyelvek mutathatnak eltéréseket a láthatóság szabályozásának megvalósításában, de általában a következő szinteket értelmezik:

  • nyilvános (public; jelölése: +) - az objektum adatai és metódusai bárhonnan elérhetőek;
  • védett (protected; jelölése: #) - az objektum adatait és metódusait csak az adott objektum és annak leszármazottjai érhetik el;
  • privát (private; jelölése: -) - csak az adott objektum számára elérhetőek az adatok és a metódusok.

Jogos kérdés lehet, hogyha az ajánlás az, hogy rejtsük el az adatokat, akkor minek van nyilvános (public) láthatósági szabály az adatok számára, amivel az objektum belső tartalma közvetlenül megváltoztatható? Az egyik okot a strukturált tervezési módú programozást megszokott programozók, illetve az ilyen módon írt programok átírásának segítésében lehet keresi. A másik ok, hogy egyes objektum orientált nyelvekben mint pl. a Java, nincs struktúra összetett adattípus. A struktúrát (struct) fel lehet fogni metódusok nélküli osztályként, és így egyszerű összetett adattípusként kezelni és a belőle készített példányt tároló objektumnak használni, ahol felesleges lehet az tulajdonságokat elérő metódusok megírása.