31.12.2014 Views

Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...

Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...

Paskaitų konspektai - Matematikos ir Informatikos fakultetas ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!