Kuidas Atribuuti Tõmmata

Sisukord:

Kuidas Atribuuti Tõmmata
Kuidas Atribuuti Tõmmata

Video: Kuidas Atribuuti Tõmmata

Video: Kuidas Atribuuti Tõmmata
Video: Kuidas teha varukoopiaid? 2024, November
Anonim

Objektide ja klassi teiste eksemplaridega töötamisel on atribuutidele juurdepääs üks programmeerija tavalistest toimingutest. Teatud objektides salvestatud andmetele juurdepääsu saamiseks võib olla keeruline, arvestades nende jaoks kasutatavaid turvameetodeid. Niisiis, privaatsete ja kaitstud spetsifikaatorite suletud atribuudid saab klassieksemplarist välja tõmmata ainult sama või lapse (kaitstud) klassi objektile kuuluvas meetodis.

Kuidas atribuuti tõmmata
Kuidas atribuuti tõmmata

Juhised

Samm 1

Looge objekt või osuti klassi eksemplarile, mille atribuuti te oma programmis vajate. Sellise operatsiooni standardkonstruktsioon on CMyClass myObj1. Mõnikord peate objekti initsialiseerimiseks klassi konstruktorile edastama teatud parameetrid. Sel juhul võib objekti loomise kirje välja näha järgmine: CMyClass myObj1 (param1, param2, param3), kus CMyClass on klassi nimi, myObj1 on loodava objekti nimi ja loetletud on kõik konstruktori soovitud parameetrid sulgudes. Kurss klassieksemplari loomiseks on järgmine: CMyClass * pObj1 = uus CMyClass (param1, param2, param3).

2. samm

Lihtsaim viis atribuudi kutsumiseks on viidata sellele otse programmis. Kuid see on võimalik ainult avaliku modifikaatoriga klassis kirjeldatud avaandmete korral. Otsene juurdepääs objekti kaudu näeb välja selline: myObj1.attr1, kus attr1 on selle klassi atribuut. Kursori jaoks oleks kõne järgmine: pObj1–> attr1.

3. samm

Kui atribuudil, millele peate viitama, on peidetud olek ja seda kirjeldatakse klassis koos privaatse modifikaatoriga, on sellele juurdepääs võimalik ainult samasse klassi kuuluva meetodi kaudu. Klassi meetodil või funktsioonil peab olema avalik staatus. Lisage klassi uus meetod, kuhu kirjutage vajaliku atribuudi töötlemine. Sel juhul saab funktsioonile parameetreid edastada, sõltuvalt sellest, millise väärtuse järgi teatud toimingud sooritatakse. Funktsioon ise võib tagastada ka andmeid, näiteks atribuudi sisu. C ++ programmikood, mis rakendab mõlemad atribuudiga töötamise funktsioonid: klass CMyClass {kaitstud: int attr1; // avalik atribuut: void funcA1 (int param) {attr1 = param; } int funcA2 () {return attr1; }};

4. samm

Seega, et määrata atribuut attr1 vajalikule väärtusele, helistage sama klassi meetodile, kasutades eelnevalt loodud objekti: myObj1.funcA1 (10) - sarnase kaudse toimingu abil pannakse väärtus 10 atribuudile attr1. Klassi eksemplari kursoriga töötades näeb sarnane toiming välja järgmine: рObj1–> funcA (10). Privaatatribuudi attr1 hankimiseks ja sellesse salvestatud väärtuse väljaselgitamiseks kutsuge klassi mõni muu meetod: int Res = myObj1.funcA2 (). Sellisel juhul määratakse täisarvu muutujale Res varjatud klassi muutuja väärtus.

5. samm

Kui peate kõigis alamklassi objektides helistama kaitstud olekuga atribuudile, vaadake selle muutujat otse. Võõrklassi funktsioonides töötades tuleb juurdepääs kaitstud andmetele siiski hankida ülalkirjeldatud viisil.

6. samm

Atribuudi kutsumiseks ilma objekti loomata kuulutage selle muutuja klassis staatiliseks, kasutades järgmist konstruktsiooni: static int attr1. Sellisel juhul saate atribuudi välja tõmmata ükskõik millisest programmi koodist, määrates sisestuse: CMyClass:: attr1.

Soovitan: