La metodologia orientata agli oggetti facilita notevolmente il processo di programmazione. Le classi utilizzate all'interno del suo framework e le loro istanze - oggetti, espandono le possibilità per risolvere qualsiasi problema. Le funzioni di classe che descrivono tutti i tipi di comportamento degli oggetti sono chiamate metodi. A seconda del modificatore specificato durante lo sviluppo della classe (pubblico, protetto, privato), l'accesso ai suoi metodi può essere effettuato in modi diversi. Anche il punto della chiamata di funzione è di grande importanza qui.
Istruzioni
Passo 1
Ogni volta che fai riferimento a una classe, considera l'ambito della sua visibilità. Si consiglia di indicare il file con la descrizione della classe all'inizio del codice del programma. Per fare ciò, scrivi una costruzione come #include “File_name.h”. Oppure inserisci il codice descrizione stesso nello stesso posto. Prima di chiamare il metodo, inizializzare l'oggetto utilizzando la seguente notazione: CClass1 Obj1, qui CClass1 è il nome della classe, Obj1 è il nome dell'oggetto. Insieme a un oggetto classe, è possibile utilizzare anche i puntatori alla sua istanza. In questo caso, dichiarare un puntatore e allocare memoria: CClass1 * Obj2 = new CClass1 ().
Passo 2
Chiamare il metodo dell'oggetto con il seguente comando: Obj1.metod1(), qui l'operatore "." (punto). Quando si lavora con un puntatore a un'istanza di classe, utilizzare l'operatore "->": Obj2-> metod1 (). Considerare l'ambito dell'oggetto o del puntatore. Quindi, quando si dichiara una variabile all'interno di una funzione, non sarà visibile al compilatore al di fuori di essa.
Passaggio 3
Se un metodo di classe è descritto con un identificatore di accesso pubblico, può essere chiamato utilizzando i metodi precedenti da qualsiasi punto del programma. Tuttavia, spesso i metodi, al fine di proteggere i dati, ricevono lo stato di nascosto. Quindi, quando dichiarata usando private, una funzione può essere disponibile solo all'interno della sua classe. Viene chiamato solo nell'ambito di un altro metodo di un'istanza della stessa classe. Il modificatore protetto disabilita anche l'uso del metodo per il codice di terze parti, ma fornisce tale opportunità per le classi figlie Un esempio di chiamata di un metodo in una classe ereditata: class A // classe genitore {protected: void funcA (); }; class B: public A // ereditato (figlio) class {public: void funcB () {funcA (); } // chiama un metodo della classe genitore};
Passaggio 4
Quando si accede a un metodo di una classe in un'altra funzione della stessa classe, non è necessario crearne un'istanza. E' sufficiente specificare il nome del metodo ei parametri da passare Un esempio del codice di chiamata del metodo: class CClass2 {void func1 (int k); void func2 () {func1 (50); }};
Passaggio 5
Esiste un altro modo per accedere al metodo senza creare un'istanza della classe. Tuttavia, ciò richiede che il metodo specificato sia dichiarato nella classe come statico. Un esempio di descrizione di un metodo in una classe: class CClass3 {static int func3 ();} In questo caso, la chiamata al metodo func3 può essere eseguita ovunque nel programma utilizzando la costruzione: CClass3:: func3().