Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
відповіді ооп( більше половини).docx
Скачиваний:
8
Добавлен:
21.09.2019
Размер:
165.75 Кб
Скачать

51). Роз’ясніть поняття модуля як програмного еквівалента класу об’єктів.

. Модульне програмування — парадигма програмування, основна ідея полягає в:

реалізації обчислювальних процесів у вигляді окремих програмних одиниць - модулів; звертанні до цих модулів в інших програмах з передачею даних, необхідних для обчислювального процесу. Модульне програмування дозволяє зменшити обсяг вихідних текстів програм, зробити їх більш прозорими, прискорити написання і тестування програм, зменшити витрати на супровід (експлуатацію) програм.

Модуль - це окрема функціонально-закінчена програмна одиниця, що структурно оформляється стандартним чином стосовно компілятора й стосовно об'єднання її з іншими аналогічними одиницями та призначена для вирішення однієї або групи подібних задач.

Головна ідея полягає в забезпеченні доступу до даних, не залежному від їх конкретного представлення. Самі дані і програми їх обробки вбудовуються (інкапсулюються) в окремій одиниці програми.

Модуль – як програмний еквівалент класів

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

Фактично модулі програм можна вважати класами C++. Вони містять власні змінні і функції. Якщо код написаний правильно, класові не потрібна зовнішня підтримка.

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

cClass MyClass; // Створення екземпляра класу

MyClass.Function1(); // Виклик функції класу

Щоб досягти справжньої модульності ваш код повинен захищати свої дані. Зробити це просто — у C++ досить додати до оголошення перемінних класифікатор protected ( extern –внутріші дані).

Щоб надати доступ до цим перемінним класу ви повинні написати відкриті функції, що будуть використовуватися поза вашим кодом - public (internal – зовнішні дані).

52). Розясніть основні концепції модульного програмування.(додатково у 51)

Основні концепції модульного програмування:

  • кожний модуль реалізує єдину незалежну функцію;

  • кожний модуль має єдину точку входу й виходу;

  • розмір модуля, по можливості, повинен бути мінімізований;

  • кожний модуль може бути розроблений і закодований різними членами бригади програмістів і може бути протестований окремо;

  • вся система побудована з модулів;

  • модуль не повинен давати побічних ефектів;

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

1 використовується також як символьний тип