Програмування у C Builder
Тип даних клас
Зробивши попередні зауваження поняття об'єктно-орієнтованого підходу, перейдемо до конкретного розгляду класів, як вони реалізовані мовою C++.
Спочатку ми розглянемо найпростіший приклад визначень класів, які можна було б розмістити у заголовному файлі. Так зазвичай і робиться, якщо класи мають бути доступні кільком модулям програми. Слід нагадати, що – це розширення поняття типу даних, а точніше, поняття структури. У C++ прийнято говорити просто про типи; представник класу вже не можна вважати просто даними, оскільки йому властива деяка поведінка.
У певному сенсі об'єкт є сутністю. Програма зазвичай використовує змінні для зберігання інформації про різні реально існуючі сутності, наприклад службовців, книги і навіть файли. При об'єктно-орієнтованому програмуванні ви фокусуєтеся на предметах, що утворюють систему, і операціях, які ви повинні виконувати над цими предметами. Наприклад, для об'єкта файлу ви могли б мати операції, які друкують, відображають або змінюють файл. У C++ можна створити тип даних - клас визначення своїх об'єктів. Ваша мета полягає в тому, щоб включити до класу стільки інформації про об'єкт, скільки потрібно. Виходячи з цього, можна підібрати клас, створений вами для однієї програми, і використовувати його в різних програмах.
Клас дозволяє вашим програмам групувати дані, що визначають властивості об'єкта, та функції, які виконують операції над цими даними. У літературі з об'єктно-орієнтованого програмування функції класу називають методами або елементами-функціями, а дані можуть називати полями або елементами даних. Подібно до структури, клас C++ повинен мати унікальне ім'я, за якимслід відкриває фігурна дужка, один або кілька елементів даних і функцій і закриває фігурна дужка:
int data_member; // Елемент даних
void show_member(int); // Функція-елемент
Після визначення класу ви можете оголошувати змінні типу цього класу (називаються об'єктами), як показано нижче:
class_name object_one, object_two, object_three;
Наступне визначення створює клас employee, який містить визначення даних та методу: