Ako Vytiahnuť Atribút

Obsah:

Ako Vytiahnuť Atribút
Ako Vytiahnuť Atribút

Video: Ako Vytiahnuť Atribút

Video: Ako Vytiahnuť Atribút
Video: Сознание и Личность. От заведомо мёртвого к вечно Живому 2024, Smieť
Anonim

Pri práci s objektmi a inými inštanciami triedy je prístup k atribútom jednou z bežných operácií programátora. Získať prístup k určitým údajom uloženým v objektoch môže byť ťažké vzhľadom na metódy zabezpečenia, ktoré sa pre ne používajú. Takže atribúty uzavreté súkromnými a chránenými špecifikátormi je možné vytiahnuť z inštancie triedy iba v metóde patriacej k objektu rovnakej alebo podradenej (pre chránenej) triedy.

Ako vytiahnuť atribút
Ako vytiahnuť atribút

Inštrukcie

Krok 1

Vytvorte objekt alebo ukazovateľ na inštanciu triedy, ktorej atribút potrebujete vo svojom programe. Štandardnou konštrukciou pre takúto operáciu je CMyClass myObj1. Niekedy na inicializáciu objektu musíte konštruktoru triedy odovzdať určité parametre. V takom prípade môže záznam vytvorenia objektu vyzerať takto: CMyClass myObj1 (param1, param2, param3), kde CMyClass je názov triedy, myObj1 je názov vytváraného objektu a sú uvedené všetky parametre požadované konštruktérom v zátvorkách. Ukazovateľ na inštanciu triedy sa vytvorí takto: CMyClass * pObj1 = nový CMyClass (param1, param2, param3).

Krok 2

Najjednoduchší spôsob, ako zavolať atribút, je odkazovať na neho priamo kdekoľvek v programe. To je však možné iba pre otvorené údaje opísané v triede s verejným modifikátorom. Priamy prístup cez objekt vyzerá takto: myObj1.attr1, kde attr1 je atribút tejto triedy. Pre ukazovateľ by sa volalo: pObj1–> attr1.

Krok 3

Ak má atribút, na ktorý sa musíte odvolať, skrytý stav a je opísaný v triede so súkromným modifikátorom, potom je k nemu prístup možný iba z metódy patriacej do rovnakej triedy. Metóda alebo funkcia triedy musí mať verejné postavenie public. Pridajte do triedy novú metódu, kde napíšte spracovanie požadovaného atribútu. V takom prípade je možné do funkcie odovzdať parametre v závislosti od hodnoty, z ktorej sa vykonávajú určité akcie. Samotná funkcia môže tiež vracať údaje, napríklad obsah atribútu. Programový kód C ++, ktorý implementuje obe funkcie pre prácu so súkromným atribútom: trieda CMyClass {chránené: int attr1; // verejný atribút: void funcA1 (int param) {attr1 = param; } int funcA2 () {návrat attr1; }};

Krok 4

Ak chcete teda nastaviť súkromný atribút attr1 na požadovanú hodnotu, zavolajte metódu rovnakej triedy pomocou predtým vytvoreného objektu: myObj1.funcA1 (10) - podobnou implicitnou operáciou sa hodnota 10 umiestni do atribútu attr1. Pri práci s ukazovateľom na inštanciu triedy bude podobná operácia vyzerať takto: рObj1–> funcA (10). Ak chcete získať súkromný atribút attr1 a zistiť v ňom uloženú hodnotu, zavolajte inú metódu triedy: int Res = myObj1.funcA2 (). V takom prípade bude celočíselnej premennej Res priradená hodnota premennej skrytej triedy.

Krok 5

Ak potrebujete zavolať atribút s chráneným stavom vo všetkých objektoch podradených tried, pozrite si priamo jeho premennú. Ak však pracujete vo funkciách zahraničných tried, prístup k chráneným údajom bude musieť byť získaný vyššie opísaným spôsobom.

Krok 6

Ak chcete zavolať atribút bez vytvorenia objektu, deklarujte jeho premennú v triede ako statickú pomocou nasledujúcej konštrukcie: static int attr1. V takom prípade môžete atribút vytiahnuť kdekoľvek v kóde programu zadaním položky: CMyClass:: attr1.

Odporúča: