Come Estrarre Un Attributo

Sommario:

Come Estrarre Un Attributo
Come Estrarre Un Attributo
Anonim

Quando si lavora con oggetti e altre istanze di una classe, l'accesso agli attributi è una delle normali operazioni per un programmatore. Ottenere l'accesso a determinati dati archiviati negli oggetti può essere difficile, dati i metodi di sicurezza utilizzati per essi. Quindi, gli attributi chiusi dagli specificatori private e protected possono essere estratti da un'istanza di classe solo in un metodo appartenente a un oggetto della stessa o a una classe figlio (per protetta).

Come estrarre un attributo
Come estrarre un attributo

Istruzioni

Passo 1

Crea un oggetto o un puntatore a un'istanza della classe di cui hai bisogno dell'attributo nel tuo programma. La costruzione standard per tale operazione è CMyClass myObj1. A volte, per inizializzare un oggetto, è necessario passare determinati parametri al costruttore della classe. In questo caso, il record di creazione dell'oggetto può essere simile a questo: CMyClass myObj1 (param1, param2, param3), dove CMyClass è il nome della classe, myObj1 è il nome dell'oggetto in fase di creazione e vengono elencati tutti i parametri richiesti dal costruttore tra parentesi. Viene creato un puntatore a un'istanza di classe come segue: CMyClass * pObj1 = new CMyClass (param1, param2, param3).

Passo 2

Il modo più semplice per chiamare un attributo è farvi riferimento direttamente in qualsiasi punto del programma. Tuttavia, questo è possibile solo per i dati aperti descritti in una classe con il modificatore public. L'accesso diretto tramite un oggetto ha il seguente aspetto: myObj1.attr1, dove attr1 è un attributo di questa classe. Per un puntatore, la chiamata sarebbe: pObj1–> attr1.

Passaggio 3

Se l'attributo a cui devi fare riferimento ha lo stato nascosto ed è descritto in una classe con il modificatore private, allora l'accesso ad esso è possibile solo da un metodo appartenente alla stessa classe. Il metodo o la funzione della classe deve avere lo stato public public. Aggiungere un nuovo metodo alla classe, dove scrivere l'elaborazione dell'attributo richiesto. In questo caso, i parametri possono essere passati alla funzione, a seconda del valore di cui vengono eseguite determinate azioni. La funzione stessa può anche restituire dati, come il contenuto di un attributo. Codice di programma C++ che implementa entrambe le funzioni per lavorare con un attributo privato: class CMyClass {protected: int attr1; // attributo pubblico: void funcA1 (int param) {attr1 = param; } int funcA2 () {return attr1; }};

Passaggio 4

Quindi, per impostare l'attributo privato attr1 al valore di cui hai bisogno, chiama un metodo della stessa classe utilizzando l'oggetto creato in precedenza: myObj1.funcA1 (10) - con un'operazione implicita simile, il valore 10 viene inserito nell'attributo attr1. Quando si lavora con un puntatore a un'istanza di una classe, un'operazione simile sarà simile a questa: рObj1–> funcA (10). Per recuperare l'attributo privato attr1 e scoprire il valore in esso memorizzato, chiama un altro metodo della classe: int Res = myObj1.funcA2(). In questo caso, alla variabile intera Res verrà assegnato il valore della variabile di classe nascosta.

Passaggio 5

Se è necessario chiamare un attributo con stato protetto in tutti gli oggetti delle classi figlie, fare riferimento direttamente alla sua variabile. Tuttavia, quando si lavora in funzioni di classi straniere, l'accesso ai dati protetti dovrà essere ottenuto con le modalità sopra descritte.

Passaggio 6

Per chiamare un attributo senza creare un oggetto, dichiarare la sua variabile nella classe come static utilizzando la seguente costruzione: static int attr1. In questo caso, puoi estrarre l'attributo ovunque nel codice del programma specificando la voce: CMyClass:: attr1.

Consigliato: