Objektově orientovaná metodika značně usnadňuje proces programování. Třídy používané v jeho rámci a jejich instance - objekty rozšiřují možnosti řešení jakéhokoli problému. Funkce třídy, které popisují všechny druhy chování objektů, se nazývají metody. V závislosti na modifikátoru zadaném během vývoje třídy (veřejný, chráněný, soukromý) lze přístup k jeho metodám provádět různými způsoby. Důležitý je zde také význam volání funkce.
Instrukce
Krok 1
Kdykoli odkazujete na třídu, zvažte rozsah její viditelnosti. Je vhodné označit soubor s popisem třídy na začátku programového kódu. Chcete-li to provést, napište konstrukci jako #include „File_name.h“. Nebo vložte stejný popisný kód na stejné místo. Před voláním metody inicializujte objekt pomocí následující notace: CClass1 Obj1, zde CClass1 je název třídy, Obj1 je název objektu. Spolu s objektem třídy lze také použít ukazatele na jeho instanci. V tomto případě deklarujte ukazatel a přidělte paměť: CClass1 * Obj2 = new CClass1 ().
Krok 2
Zavolejte metodu objektu pomocí následujícího příkazu: Obj1.metod1 (), zde operátor "." (tečka). Při práci s ukazatelem na instanci třídy použijte operátor "->": Obj2-> metod1 (). Zvažte rozsah objektu nebo ukazatele. Když tedy deklarujete proměnnou v rámci jedné funkce, nebude viditelná pro kompilátor mimo ni.
Krok 3
Pokud je metoda třídy popsána se specifikátorem veřejného přístupu, lze ji volat pomocí výše uvedených metod odkudkoli v programu. Metody však často kvůli ochraně dat získávají stav skrytých. Když je tedy funkce deklarována jako soukromá, funkce může být dostupná pouze uvnitř své třídy. Volá se pouze v rámci jiné metody instance stejné třídy. Chráněný modifikátor také zakáže použití metody pro kód třetí strany, ale poskytuje takovou příležitost pro podřízené třídy. Příklad volání metody v zděděné třídě: class A // parent class {protected: void funcA (); }; třída B: veřejná A // zděděná (podřízená) třída {public: void funcB () {funcA (); } // zavolat metodu mateřské třídy};
Krok 4
Při přístupu k metodě třídy v jiné funkci stejné třídy je zbytečné vytvářet její instanci. Stačí zadat název metody a parametry, které mají být předány. Příklad kódu volání metody: class CClass2 {void func1 (int k); void func2 () {func1 (50); }};
Krok 5
Existuje další způsob přístupu k metodě bez vytvoření instance třídy. To však vyžaduje, aby byla zadaná metoda ve třídě deklarována jako statická. Příklad popisu metody ve třídě: třída CClass3 {static int func3 ();} V takovém případě lze volání metody func3 provést kdekoli v programu využívajícím konstrukci: CClass3:: func3 ().