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


 

Об’єктно-орієнтована методологія значно полегшує процес програмування. Використовувані в її рамках класи та їх примірники — об’єкти, розширюють можливості для вирішення будь-якої задачі. Функції класу, що описують всіляке поведінку об’єктів, називаються методами. В залежності від заданого при розробці класу модифікатора (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 ();
    }

    В цьому випадку виклик методу func3 можна виконати в будь-якому місці програми за допомогою конструкції: CClass3 :: func3 ().