Példányváltozó

A Wikipédiából, a szabad enciklopédiából

Az osztályalapú objektumorientált programozásban egy példányváltozó egy osztályban definiált változó (azaz egy tagváltozó), amelyre az osztály minden példányosított objektumának van egy külön másolata vagy példánya. Egy példányváltozó hasonlóságot mutat egy[1] osztályváltozóval, de nem statikus. A példányváltozó egy olyan változó, amely egy osztályban van deklarálva, de konstruktorokon, metódusokon vagy blokkon kívül. A példányváltozók akkor jönnek létre, amikor egy objektumot példányosítanak, és az osztály összes konstruktora, metódusa vagy blokkja számára elérhetők. Hozzáférési módosítók adhatók a példányváltozóhoz.

A példányváltozó nem osztályváltozó, bár vannak hasonlóságok. Ez egy osztályattribútum (vagy osztálytulajdonság, mező vagy adattag) típusa. Ugyanez a kettősség a példány és az osztály tagjai között vonatkozó metódusokra ("tagfüggvényekre") is; egy osztálynak lehetnek példánymetódusai és osztálymetódusai is.

A változók olyan tulajdonságok, amelyeket az objektum ismer magáról. Egy objektum minden példányának megvannak a saját példányváltozói, még akkor is, ha az egyik objektum értéke ugyanaz. Egy objektumpéldány módosíthatja példányváltozóinak értékeit anélkül, hogy az összes többi példányt érintené. A példányváltozókat egy osztály összes metódusa használhatja, kivéve, ha a metódus statikusnak van deklarálva.[2]

Példa[szerkesztés]

struct Request {

  static int count1; // variable name is not important
  int number;

  Request() {
    number = count1; // modifies the instance variable "this->number"
    ++count1; // modifies the class variable "Request::count1"
  }

};

int Request::count1 = 0;

Ebben a C++ példában a Request::number példányváltozó a Request::count1 osztályváltozó másolata, ahol minden felépített példányhoz hozzárendelnek egy count1 szekvenciális értéket, mielőtt megnövelnénk. Mivel a number egy példányváltozó, minden Request objektum saját külön értéket tartalmaz; ezzel szemben csak egy objektum Request::count1 érhető el minden példány számára aminek értéke azonos.

Jegyzetek[szerkesztés]

  1. The Java Tutorial, Variables. docs.oracle.com. Oracle. [2014. október 23-i dátummal az eredetiből archiválva]. (Hozzáférés: 2014. október 23.)
  2. Matuszek: Static. cis.upenn.edu. University of Pennsylvania. [2014. október 23-i dátummal az eredetiből archiválva]. (Hozzáférés: 2014. október 23.)

Fordítás[szerkesztés]

Ez a szócikk részben vagy egészben az Instance variable című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.