Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_Лаб_Гриф.doc
Скачиваний:
7
Добавлен:
14.11.2019
Размер:
2.81 Mб
Скачать

Заняття№20 Розробка програм з використанням класів

(2 години)

Ціль роботи: вивчити синтаксичні конструкції для оголошення, визначення і використання класів. Розібратися з призначенням і особливостями використання класів у мові С++.

Теоретичні відомості

Об'єкт - це абстрактна сутність, наділена характеристиками об'єктів реального світу. У С++ об'єкти грають дуже важливу роль. Усе, чим маніпулює програма, може розглядатися як об'єкт (екземпляр) визначеного класу. При виконанні програми об'єкти створюються і знищуються. Вони находяться у взаємодії з іншими об'єктами і можуть бути поміщені в масиви, списки, групи, колекції, і т.д.

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

Оголошення і визначення класу

Клас - це тип даних користувача, (аналогічно структурі), що містить (включає, інкапсулірує) не тільки оголошення даних, але і функції. Ці функції називаються функціями-членами класу і визначають, що може робити клас. Структури в С++ також можуть містити функції.

Для того, щоб використовувати клас, його потрібно спочатку оголосити так само, як це робиться зі структурами. І так само як для структур повне оголошення класу може з'явитися в програмі тільки один раз. Розглянемо приклад оголошення простого класу

class Counter { // Ім'я класу (типу) Counter

long count; // Перемінна-член класу, оголошена в розділі

// private за умовчанням, недоступна з програми

public: // Розділ public, дані доступні з програми

void SetValue (long); // Функції-члени класу, оголошені в розділі public

long GetValue ( );

};

Ключове слово class вводить оголошення класу. Далі знаходиться ім'я класу (Counter). Тіло класу повинне бути заключеним у фігурні дужки, після яких розташована крапка з комою. Класи можуть містити не тільки оголошення функцій, але і їхні повні визначення. Такі функції називаються inline - функціями. Функції усередині класів можуть бути настільки довгими і складними, наскільки це необхідно.

Перемінні, які оголошені усередині класу, належать цьому класу. У деяких випадках перемінні можуть розділятися (використовуватися) різними об'єктами (екземплярами) класу. Такі перемінні мають клас пам'яті static. Ідентифікатори (імена) перемінних і функцій усередині класу застраховані від конфліктів з ідентифікаторами інших класів. Клас - це замкнутий програмний комплекс із власними ідентифікаторами аналогічно структурам.

Для ідентифікаторів класу застосовні ті ж правила, що і для інших типів чи імен перемінних. У С++ для ідентифікаторів гранична довжина не визначена, але в Borland C максимальна довжина дорівнює 32 символам. За умовчанням усі 32 символу є значущими. Регістри букв (рядкова чи прописна) в ідентифікаторах розрізняються.