Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Klas÷s narių matomumas<br />
Klas÷s metodų viduje yra matomi visi tos pačios klas÷s nariai: tiek duomenys, tiek <strong>ir</strong><br />
metodai. Metodai laisvai manipuliuoja savo objekto būsena <strong>ir</strong> yra atsakingi už jos<br />
konsistentiškumą (teisingumą). Dažniausiai klas÷s metodai vieninteliai tiksliai žino,<br />
kaip teisingai elgtis su objekto būsena. Tuo tarpu kodui, naudojančiam klasę,<br />
neleidžiama kišti nagų prie objekto būsenos, o tik naudoti viešuosius metodus.<br />
Tiek duomenys, tiek <strong>ir</strong> metodai gali būti privatūs (private) arba vieši (public).<br />
Tolesniuose skyriuose, kalb÷dami apie paveld÷jimą, susipažinsime <strong>ir</strong> su apsaugotais<br />
nariais (protected). Šie raktiniai žodžiai gali eiti bet kokia tvarka <strong>ir</strong> kartotis kiek<br />
norima kartų. Privatūs nariai yra pasiekiami tik klas÷s metodų viduje, o viešieji<br />
nariai pasiekiami visiems. Žemiau pateiktas kodas nekompetetingai kiša nagus prie<br />
steko vidin÷s realizacijos. Kompiliatorius išves klaidos pranešimą:<br />
int main ()<br />
{<br />
Stack stack;<br />
stack.size = -1; // error: Stack::size is not accessible<br />
// in function main()<br />
}<br />
C++ kalboje struktūra (struct) yra ta pati klas÷, kurios narių matomumas pagal<br />
nutyl÷jimą yra public. Klas÷s narių matomumas pagal nutyl÷jimą yra private. Geras<br />
programavimo stilius reikalauja visuomet išreikštininiu būdu nurodyti klas÷s narių<br />
matomumą.<br />
58