Об'єктно-орієнтована методологія значно полегшує процес програмування. Використовувані в її рамках класи та їх екземпляри - об'єкти, розширюють можливості для вирішення будь-якої задачі. Функції класу, що описують всіляке поведінку об'єктів, називаються методами. Залежно від заданого при розробці класу модифікатора (public, protected, private), доступ до його методам може здійснюватися різними способами. Велике значення тут має і точка виклику функції.
Інструкція
При будь-якому зверненні до класу слід врахувати область його видимості. Доцільно файл із описом класу вказувати на початку коду програми. Для цього напишіть конструкцію виду #include "File_name.h". Або вставте там же сам код опису. Перед викликом методу Ініціалізуйте об'єкт за допомогою запису: CClass1 Obj1, тут CClass1 - ім'я класу, Obj1 - назва об'єкта. Поряд з об'єктом класу можуть використовуватися і покажчики під його екземпляр. У цьому випадку оголосіть покажчик і виділіть пам'ять: CClass1 * Obj2 = new CClass1 ().
Викличте метод об'єкта за допомогою наступної команди: Obj1.metod1 (), тут при зверненні використовується оператор «.» (Крапка). При роботі з покажчиком на екземпляр класу поставте оператор «->»: Obj2-> metod1 (). Враховуйте область видимості об'єкта або покажчика. Так, при оголошенні змінної в рамках однієї функції, вона буде невидно компілятору за її межами.
Якщо метод класу описаний зі специфікатором доступу public, викликати його можна вищевказаними способами з будь-якої точки програми. Однак найчастіше методи, з метою захисту даних, отримують статус прихованих. Так, при декларації за допомогою private функція може бути доступна тільки всередині свого класу. Виклик її виконується лише в рамках іншого методу примірника того ж класу. Модифікатор protected також закриває використання методу для стороннього коду, але надає таку можливість для дочірніх классов.Прімер виклику методу в наследуемом класі: class A // батьківський клас {protected: void funcA () -} - class B: public A // успадковані ( дочірній) клас {public: void funcB () {funcA () -} // виклик методу батьківського класу} -
При зверненні до методу класу в іншій функції того ж класу створювати його примірник непотрібно. Досить вказати ім'я методу і передані параметри.Прімер коду виклику методу: class CClass2 {void func1 (int k) -void func2 () {func1 (50) -}} -
Існує ще один спосіб отримати доступ до методу без створення екземпляра класу. Однак для цього потрібно, щоб вказаний метод був оголошений в класі як статіческій.Прімер опису методу в класі: class CClass3 {static int func3 () -} У цьому випадку виклик методу func3 можна виконати в будь-якому місці програми за допомогою конструкції: CClass3 :: func3 ().