Як викликати метод

Як викликати метод

Об 'єктно-орієнтована методологія значно полегшує процес програмування. Використовувані в її рамках класи та їх екземпляри - об 'єкти, розширюють можливості для вирішення будь-якого завдання. Функції класу, що описують усіляку поведінку об 'єктів, називаються методами. Залежно від визначеного при розробці класу модифікатора (public, protected, private), доступ до його методів може здійснюватися різними способами. Велике значення тут має і точка виклику функції.

Інструкція

1. При будь-якому зверненні до класу слід врахувати область його видимості. Доцільно файл з описом класу вказувати на початку коду програми. Для цього напишіть конструкцію виду # include "File_name.h". Або вставте там же сам код опису. Перед викликом методу ініціалізуйте об 'єкт за допомогою запису: CClass1 Obj1, тут CClass1 - ім 'я класу, Obj1 - назва об' єкта. Разом з об 'єктом класу можуть використовуватися і покажчики під його екземпляр. У цьому випадку оголосіть індекс і виділіть пам 'ять: CClass1 *Obj2 = new CClass1().


2. Визовіть метод об 'єкта за допомогою наступної команди: Obj1.metod1 (), тут при зверненні використовується оператор "." (крапка). При роботі з покажчиком на екземпляр класу поставте оператор "- >": Obj2->metod1(). Враховуйте область видимості об 'єкта або індексу. Так, при оголошенні змінної в рамках однієї функції, вона буде невидна компілятору за її межами.

3. Якщо метод класу описано зі специфікатором доступу public, можна викликати його вищевказаними способами з будь-якої точки програми. Однак найчастіше методи, з метою захисту даних, отримують статус прихованих. Так, при декларації за допомогою private функція може бути доступна тільки всередині свого класу. Виклик її виконується лише в рамках іншого методу екземпляра того ж класу. Модифікатор protected також закриває використання методу для стороннього коду, але надає таку можливість для дочірніх класів. Приклад виклику методу в спадкованому класі:class A//батьківський клас {protected: void funcA();};class B: public A//спадкоємний (дочірній) клас {public: void funcB () {funcA (); }//виклик методу батьківського класу};

4. При зверненні до методу класу в інший функції того ж класу створювати його екземпляр непотрібно. Достатньо вказати назву методу та параметри, що передаються. Приклад коду виклику методу:class CClass2{ void func1(int k); void func2() { func1(50); }};

5. Існує ще один спосіб отримати доступ до методу без створення екземпляра класу. Однак для цього потрібно, щоб зазначений метод був оголошений у класі як статичний. Приклад опису методу в класі:class CClass3 {static int func3 ();} B цьому випадку виклик методу func3 можна виконати в будь-якому місці програми за допомогою конструкції: CClass3::func3().