Objektorienteeritud metoodika hõlbustab programmeerimisprotsessi oluliselt. Selle raames kasutatavad klassid ja nende eksemplarid - objektid, laiendavad võimalikke probleeme. Klasside funktsioone, mis kirjeldavad igasugust objektikäitumist, nimetatakse meetoditeks. Sõltuvalt klassi väljatöötamisel täpsustatud modifikaatorist (avalik, kaitstud, privaatne) saab juurdepääsu selle meetoditele mitmel viisil. Siin on suur tähtsus ka funktsioonikõne punktil.
Juhised
Samm 1
Alati, kui viitate klassile, kaaluge selle nähtavuse ulatust. Programmi koodi alguses on soovitatav märkida fail koos klassi kirjeldusega. Selleks kirjutage konstruktsioon nagu #include "File_name.h". Või sisestage kirjelduskood ise samasse kohta. Enne meetodi kutsumist lähtestage objekt järgmise märke abil: CClass1 Obj1, siin on CClass1 klassi nimi, Obj1 on objekti nimi. Koos klassiobjektiga saab kasutada ka viiteid selle eksemplarile. Sel juhul deklareerige osuti ja eraldage mälu: CClass1 * Obj2 = new CClass1 ().
2. samm
Kutsuge objekti meetodit järgmise käsuga: Obj1.metod1 (), siin operaator "." (punkt). Klassieksemplari kursoriga töötamisel kasutage operaatorit "->": Obj2-> metod1 (). Mõelge objekti või osuti ulatusele. Nii et muutuja deklareerimisel ühe funktsiooni piires ei ole see kompilaatorile väljaspool seda nähtav.
3. samm
Kui klassi meetodit kirjeldatakse avaliku juurdepääsu täpsustajaga, saab seda ülaltoodud meetodite abil kutsuda kõikjalt programmist. Kuid sageli saavad meetodid andmete kaitsmiseks peidetud oleku. Seega, kui deklareeritakse privaatsena, saab funktsioon olla saadaval ainult selle klassis. Seda kutsutakse ainult sama klassi eksemplari teise meetodi raames. Kaitstud modifikaator keelab meetodi kasutamise kolmanda osapoole koodi jaoks, kuid annab sellise võimaluse ka lasteklassidele. Näide meetodi kutsumisest pärilikus klassis: klass A // vanemklass {protected: void funcA (); }; klass B: avalik A // päritud (lapse) klass {public: void funcB () {funcA (); } // kutsu vanemklassi meetod};
4. samm
Klassimeetodile juurdepääsuks sama klassi teises funktsioonis pole selle eksemplari loomine vajalik. Piisab meetodi nime ja edastatavate parameetrite määramisest. Meetodi kutsekoodi näide: klass CClass2 {void func1 (int k); void func2 () {func1 (50); }};
5. samm
On veel üks viis, kuidas meetodile juurde pääseda ilma klassi kiirustamata. See aga nõuab, et määratud meetod kuulutataks klassis staatiliseks. Näide meetodi kirjeldusest klassis: klass CClass3 {static int func3 ();} Sellisel juhul saab funktsiooni func3 kutsuda igal pool programmis, kasutades konstruktsiooni: CClass3:: func3 ().