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

Використання даних-членів класу

Інкапсуляція дозволяє сховати якісь дані і функції усередині класу. Даних може бути стільки, скільки потрібно і скільки дозволяє пам'ять. Однак їх може і не бути взагалі.

Спроба виконати ініціалізацію даних усередині оголошення класу помилкова. Клас - це не об'єкт і пам'ять для нього не буде виділена доти, поки не буде створений об'єкт, як екземпляр цього класу. Дані, оголошені в класі, варто розглядати не як повноцінні перемінні, а як поля структури. Як і для структури, об'єкт потрібно оголосити із типом (ім'ям класу), а потім виконати ініціалізацію його даних-членів.

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

Якщо дане-член класу оголошено як статичне, то компоновщик виділяє під нього пам'ять тільки один раз, коли зустрічається оголошення цього даного в класі. Тому виконати ініціалізацію статичної перемінної можна в момент її оголошення. Статичні елементи завжди залишаються статичними.

Привілеї доступу до статичних даних відрізняються від привілеїв доступу до нестатичного. До статичного даного необхідно завжди звертатися через ім'я класу й оператор дозволу області видимості (::), незалежно від того, оголошений він як приватний, загальнодоступний чи захищений.

Оператор дозволу області видимості (::) – використовується для доступу до даних- членів:

  • через функцію-член класу;

  • через клас, оголошений дружнім для даного класу.

Для доступу до відкритих членів класу використовується оператор крапка (.) разом з об'єктами чи оператор ( -> ) разом з покажчиками на об'єкти класу.

Для доступу до закритих і захищених членів класу використовуються функції-члени відкритої частини класу.

Хід роботи

  1. Вивчити теоретичні відомості.

  2. Відповідно до індивідуального завдання (таблиця 20.1) розробити структуру класу (class), зробити визначення функцій-членів класу, розробити алгоритм використання об'єктів і покажчиків на об'єкти класу для доступу до даних і функцій-членів. Перевірити можливість доступу до членів класу в розділах private, public, protected. У розділах оголосити мінімум по одному даному-члену, включаючи статичні (static).

  3. Набрати програму на комп'ютері і усунути помилки.

  4. Одержати результат.

  5. Оформити звіт.

  6. Підготуватися до захисту заняття, вивчивши контрольні питання по даній темі.

Індивідуальне завдання до заняття №20

Скласти програму для оголошення і використання даних одного з типів (базового класу) відповідно до індивідуального завдання (таблиця 20.1).

Таблиця 20.1 - Варіанти понять для базових класів

Варіант

Поняття

Варіант

Поняття

1

Рослини

16

Меблі для сидіння

2

Тварини

17

Будівлі

3

Небесні тіла

18

Мости

4

Спортивні змагання

19

Бритви

5

Друкована продукція

20

Принтери

6

Промислове виробництво

21

Плотери

7

Телефони

22

Рознімання електричні

8

Залізнично-транспортні засоби

23

Маніпулятори для введення інформації

9

Автомобільний транспорт

24

Пристрої запису інформації

Продовження таблиці 20.1

Варіант

Поняття

Варіант

Поняття

10

Освітлювальні прилади

25

Сканери

11

Засоби зв’язку

26

ЕОМ

12

Телевізори

27

Нагрівальні пристрої

13

Кораблі

28

Пристрої передачі моменту, що крутить

14

Меблі м’які

29

Пишучі пристрої

15

Транспортні засоби

30

Шафи

Вимоги до змісту звіту приведені в занятті №1.