Kaip Ištraukti Atributą

Turinys:

Kaip Ištraukti Atributą
Kaip Ištraukti Atributą

Video: Kaip Ištraukti Atributą

Video: Kaip Ištraukti Atributą
Video: Apie KRIŠNAITUS. Kas ten blogai ir kaip ištraukti žmogų? 2024, Gegužė
Anonim

Dirbant su objektais ir kitais klasės egzemplioriais, prieiga prie atributų yra viena iš įprastų programuotojo operacijų. Atsižvelgiant į jiems naudojamus saugumo metodus, gali būti sunku pasiekti tam tikrus objektuose saugomus duomenis. Taigi, privačių ir saugomų specifikatorių uždaryti atributai gali būti ištraukti iš klasės egzemplioriaus tik metodu, priklausančiu tos pačios arba vaiko (saugomos) klasės objektui.

Kaip ištraukti atributą
Kaip ištraukti atributą

Nurodymai

1 žingsnis

Sukurkite objektą arba rodyklę į klasės egzempliorių, kurio atributo jums reikia jūsų programoje. Standartinė tokios operacijos konstrukcija yra „CMyClass myObj1“. Kartais, norėdami inicijuoti objektą, turite perduoti tam tikrus parametrus klasės konstruktoriui. Tokiu atveju objekto sukūrimo įrašas gali atrodyti taip: CMyClass myObj1 (param1, param2, param3), kur CMyClass yra klasės pavadinimas, myObj1 yra kuriamo objekto pavadinimas ir išvardyti visi konstruktoriaus prašomi parametrai skliausteliuose. Klasės egzemplioriaus žymeklis sukurtas taip: CMyClass * pObj1 = nauja CMyClass (param1, param2, param3).

2 žingsnis

Paprasčiausias būdas paskambinti atributui yra nurodyti jį tiesiogiai bet kurioje programos vietoje. Tačiau tai įmanoma tik esant atviriems duomenims, aprašytiems klasėje su viešuoju modifikatoriumi. Tiesioginė prieiga per objektą atrodo taip: myObj1.attr1, kur attr1 yra šios klasės atributas. Žymekliui skambinama taip: pObj1–> attr1.

3 žingsnis

Jei atributas, į kurį turite kreiptis, turi paslėptą būseną ir yra aprašytas klasėje su asmeniniu modifikatoriumi, prieiga prie jo galima tik naudojant metodą, priklausantį tai pačiai klasei. Klasės metodas ar funkcija turi būti vieša. Pridėkite naują metodą prie klasės, kur parašykite reikalingo atributo apdorojimą. Tokiu atveju parametrai gali būti perduodami funkcijai, priklausomai nuo to, kokia vertė atliekama tam tikruose veiksmuose. Pati funkcija taip pat gali grąžinti duomenis, pvz., Atributo turinį. C ++ programos kodas, įgyvendinantis abi funkcijas dirbant su privačiu atributu: klasė CMyClass {protected: int attr1; // viešasis atributas: void funcA1 (int param) {attr1 = param; } int funcA2 () {return attr1; }};

4 žingsnis

Taigi, norėdami nustatyti privataus atributo attr1 reikiamą vertę, iškvieskite tos pačios klasės metodą naudodami anksčiau sukurtą objektą: myObj1.funcA1 (10) - atlikdami panašią numanomą operaciją, vertė 10 dedama į attr1 atributą. Dirbant su žymekliu į klasės egzempliorių, panaši operacija atrodys taip: рObj1–> funcA (10). Norėdami gauti privatų atributą attr1 ir sužinoti jame saugomą vertę, iškvieskite kitą klasės metodą: int Res = myObj1.funcA2 (). Tokiu atveju sveikojo skaičiaus kintamajam Res bus priskirta paslėptos klasės kintamojo vertė.

5 žingsnis

Jei visuose vaikų klasių objektuose turite iškviesti atributą su saugoma būsena, tiesiogiai remkitės jo kintamuoju. Tačiau dirbant užsienio klasių funkcijomis, prieigą prie saugomų duomenų reikės gauti aukščiau aprašytu būdu.

6 žingsnis

Norėdami iškviesti atributą nesukūrę objekto, deklaruokite jo kintamąjį klasėje kaip statinį, naudodami šią konstrukciją: static int attr1. Tokiu atveju galite ištraukti atributą bet kurioje programos kodo vietoje nurodydami įrašą: CMyClass:: attr1.

Rekomenduojamas: