Si Të Tërheqësh Një Atribut

Përmbajtje:

Si Të Tërheqësh Një Atribut
Si Të Tërheqësh Një Atribut

Video: Si Të Tërheqësh Një Atribut

Video: Si Të Tërheqësh Një Atribut
Video: Solli në jetë një fëmijë me kushëririn, apeli i çiftit nga Dibra: Na e jep për birësim (Pj.2) 2024, Nëntor
Anonim

Kur punoni me objekte dhe raste të tjera të një klase, hyrja e atributeve është një nga operacionet e zakonshme për një programues. Fitimi i aksesit në të dhëna të caktuara të ruajtura në objekte mund të jetë i vështirë, duke pasur parasysh metodat e sigurisë të përdorura për to. Pra, atributet e mbyllura nga specifikuesit privatë dhe të mbrojtur mund të tërhiqen nga një shembull i klasës vetëm në një metodë që i përket një objekti të së njëjtës klasë ose një fëmije (për mbrojtjen e klasës).

Si të tërheqësh një atribut
Si të tërheqësh një atribut

Udhëzimet

Hapi 1

Krijoni një objekt ose një tregues për një shembull të klasës, cilësia e së cilës ju nevojitet në programin tuaj. Ndërtimi standard për një operacion të tillë është CMyClass myObj1. Ndonjëherë, për të iniciuar një objekt, duhet t'i kaloni disa parametra konstruktorit të klasës. Në këtë rast, rekordi i krijimit të objektit mund të duket kështu: CMyClass myObj1 (param1, param2, param3), ku CMyClass është emri i klasës, myObj1 është emri i objektit që po krijohet, dhe të gjithë parametrat e kërkuar nga konstruktori janë renditur ne kllapa. Një tregues për një shembull të klasës krijohet si më poshtë: CMyClass * pObj1 = CMyClass i ri (param1, param2, param3).

Hapi 2

Mënyra më e thjeshtë për të thirrur një atribut është t'i referoheni asaj drejtpërdrejt kudo në program. Sidoqoftë, kjo është e mundur vetëm për të dhëna të hapura të përshkruara në një klasë me modifikuesin publik. Hyrja direkte përmes një objekti duket kështu: myObj1.attr1, ku attr1 është një atribut i kësaj klase. Për një tregues, thirrja do të ishte: pObj1–> attr1.

Hapi 3

Nëse atributi që ju duhet t'i referoheni ka statusin e fshehur dhe përshkruhet në një klasë me modifikuesin privat, atëherë hyrja në të është e mundur vetëm nga një metodë që i përket të njëjtës klasë. Metoda ose funksioni i klasës duhet të ketë statusin publik publik. Shtoni një metodë të re në klasë, ku shkruani përpunimin e atributit të kërkuar. Në këtë rast, parametrat mund t'i kalohen funksionit, varësisht nga vlera e të cilit kryhen veprime të caktuara. Vetë funksioni gjithashtu mund të kthejë të dhëna, siç është përmbajtja e një atributi. Kodi i programit C ++ që zbaton të dy funksionet për të punuar me një atribut privat: klasa CMyClass {protection: int attr1; // atributi publik: void funcA1 (int param) {attr1 = param; } int funcA2 () {kthimi attr1; }};

Hapi 4

Kështu, për të vendosur atributin privat attr1 në vlerën që ju nevojitet, thirrni një metodë të së njëjtës klasë duke përdorur objektin e krijuar më parë: myObj1.funcA1 (10) - me anë të një operacioni të ngjashëm të nënkuptuar, vlera 10 vendoset në atributin attr1. Kur punoni me një tregues në një instancë të një klase, një veprim i ngjashëm do të duket kështu: рObj1–> funcA (10). Për të marrë atributin privat attr1 dhe për të gjetur vlerën e ruajtur në të, thirrni një metodë tjetër të klasës: int Res = myObj1.funcA2 (). Në këtë rast, ndryshores së plotë Res do t'i caktohet vlera e ndryshores së klasës së fshehur.

Hapi 5

Nëse duhet të thërrisni një atribut me status të mbrojtur në të gjitha objektet e klasave të fëmijëve, referojuni direkt ndryshores së saj. Sidoqoftë, kur punoni në funksione të klasave të huaja, qasja në të dhënat e mbrojtura do të duhet të merret në mënyrën e përshkruar më sipër.

Hapi 6

Për të thirrur një atribut pa krijuar një objekt, deklaroni ndryshoren e saj në klasë si statike duke përdorur konstruksionin e mëposhtëm: statik int attr1. Në këtë rast, ju mund të tërheqni atributin kudo në kodin e programit duke specifikuar hyrjen: CMyClass:: attr1.

Recommended: