Jelenlegi hely

7.2. Hivatkozás egy objektum tagjaira

Ha létrehozunk egy objektumot, valószínűleg használni is akarjuk valamire. Ennek két módja lehet:

  • módosítani vagy megnézni a tagváltozóit
  • meghívni a metódusait

Általános formája:

objectReference.variableName

Amikor egy változó az érvényességi körén belül van – itt az osztályon belül –, használható az egyszerű hivatkozás is.

A hivatkozás első része egy objektum referencia kell, hogy legyen. Lehet használni egy objektum nevét, vagy egy kifejezést, ami egy objektum-hivatkozással tér vissza. A new operátor egy hivatkozással tér vissza, ezzel hozzáférhetünk egy új objektum változóihoz:

int height = new Rectangle().height;

Miután ez végrehajtódik, többé nem lehet hivatkozni a létrejött Rectangle objektumra, mert nem tároltuk el a hivatkozást egy változóban.

A tagváltozók hozzáférhetősége

Konvenció szerint egy objektum tagváltozóit más objektum vagy osztály közvetlenül nem módosíthatja, mert lehet, hogy értelmetlen érték kerülne bele.

Ehelyett, hogy a változtatást megengedje, egy osztály biztosíthat metódusokat, amiken keresztül más objektumok megnézhetik, illetve módosíthatják a változóit. Ezek a metódusok biztosítják, hogy megfelelő konzisztens érték kerüljön a változóba. (Például a Cat osztályban a macska súlya ne legyen negatív.) A másik előnyük, hogy az osztály megváltoztathatja a változó nevét és típusát anélkül, hogy hatással lenne a klienseire.

Azonban néha szükség lehet arra, hogy közvetlen hozzáférést biztosítsunk a változókhoz. Ezt úgy tehetjük meg, hogy a public szót írjuk eléjük, a private-tel pedig tilthatjuk a külső hozzáférést.