
- •1.Охарактеризуйте розвиток структуризації у мовах програмування. Технології програмування.
- •2. Охарактеризуйте особливості та переваги об’єктно-орієнтованого програмування, використовуючи його базові поняття та терміни.
- •3.Охарактеризуйте такі поняття об’єктно-орієнтованої парадиґми, як клас, об’єкт, повідомлення та метод.
- •Означте такі базові властивості об’єктно-орієнтованого програмування як абстрагування, наслідування, інкапсуляція та поліморфізм.
- •Охарактеризуйте поняття абстрагування при створенні класу об’єктів. Проаналізуйте відмінності між поняттям класу та об'єкту.
- •6. Специфікація представлення та функціональна специфікація класів.
- •8.Опишіть такий агрегатний тип даних як масив. Приклади
- •10.Охарактеризуйте поняття ідентифікації об’єктів. Проаналізуйте способи ідентифікації об’єктів.
- •11. Об'єкти з точки зору концепцій інкапсуляції і абстракції.
- •12. Проаналізуйте структуру опису та реалізації класу: компоненти-дані і компоненти-функції.
- •13. Проаналізуйте особливості доступу до компонентів об’єкта (використання специфікаторів public, private, protected).
- •14. Ініціалізація об’єктів (конструктори). Опис конструкторів та порядок їх виклику.
- •15. Опишіть процес руйнування об’єкта (деструктори).
- •21).Охарактеризуйте віртуальні функції. Приклади.
- •Проаналізуйте поняття «час життя» об'єкта та його «область видимості».
- •23).Класи пам’яті. Використання автоматичної, статичної та динамічної пам’яті для розміщення об’єктів.
- •24). Розкрийте суть проблеми "висячих" посилань і “сміття”.
- •1)Цілі, 2)раціональні (із плаваючою крапкою),3) символьні;4) рядкові.
- •1) Константи цілого типу
- •2) Константи раціонального типу
- •3) Символьні константи
- •Керуючі коди
- •4) Рядкові константи
- •Перераховуваний тип
- •30. Охарактеризуйте особливості inline-функцій та inline-методів класів.
- •33. Опишіть такі аґреґатні типи даних, як структура і об’єднання, їх основні відмінності.
- •34. Охарактеризуйте поняття вказівника і посилання. Їх основні відмінності.
- •Типові обмеження та помилки програмування при роботі з посиланнями.
- •35. Ініціалізація вказівників. Операції над ними.
- •Операції з вказівниками.
- •Типові помилки програмування при роботі з вказівниками.
- •36. Охарактеризуйте зв'язану організацію пам'яті та використання вказівників у програмах.
- •37.Дайте аналіз динамічним структурам об’єктів на прикладі асоціативних структур даних.
- •38.Проаналізуйте такі динамічні структури об’єктів як лінійні списки.
- •39Дайте оцінку такій динамічні структури об’єктів як черги, стеки та деки.
- •40.Опишіть та дайте приклади використання зв’язаної організації пам’яті для реалізації рекурсивних структур.
- •48). Використання маніпуляторів при вводі-виводі даних.( незнайдено повністю)
- •49). Способи форматування даних при використанні потоків.
- •51). Роз’ясніть поняття модуля як програмного еквівалента класу об’єктів.
- •52). Розясніть основні концепції модульного програмування.(додатково у 51)
12. Проаналізуйте структуру опису та реалізації класу: компоненти-дані і компоненти-функції.
Компоненти-дані класу – це просто змінні, оголошені в описі класу. Їхньою областю видимості за замовчуванням є клас. Можете управляти доступом до компонентів-даних класу, оголошуючи їх як private, public чи protected. Незалежно від встановленого рівня доступу, компоненти-дані класу можуть використовуватись усіма функціями цього класу. Рівень доступу визначає видимість компонентів-даних поза класом. Наприклад, до закритих чи захищених компонентів-даних доступ ззовні неможливий. Звернення до відкритих компонентів-даних можливий лише через клас. Для роботи з закритими компонентами-даними ви можете написати спеціальні функції. Одна функція буде повертати значення певного компонента класу, а інша – змінювати його значення. Це будуть відкриті функції, що працюють із закритими компонентами-даними.
Компоненти-функції класу – це функції, що належать вашому класу. Вони є локальними по відношенню до класу, в якому визначені, й не існують поза класом. Компоненти-функції можуть бути викликані лише зсередини класу чи через екземпляр класу. Вони мають доступ до всіх відкритих, захищених та закритих компонентів-функцій свого класу. Компоненти-функції можуть бути оголошені в розділах private, public чи protected.Відкриті компоненти-функції являють собою інтерфейс між користувачем й класом. Саме через відкриті функції користувач класу отримує доступ до тих можливостей, які надає клас. Закриті компоненти-функцій призначені лише для використання самим класом. Вони скриті від зовнішнього світу. Захищені компоненти-функції – це функції, доступні тільки для тих класів, які є похідними даного класу. Доступ ззовні до цих функцій неможливий.
13. Проаналізуйте особливості доступу до компонентів об’єкта (використання специфікаторів public, private, protected).
Див.12
14. Ініціалізація об’єктів (конструктори). Опис конструкторів та порядок їх виклику.
Конструктори-це спеціальні методи,які призначені для створення обєкта та надання йому початкових значень.
Особливості використання:
1.імя конструктора завжди співпадає з імям класу;
2.конструкторів може бути декілька з різною кількістю та типами параметрів;
3.якщо в програмі немає жодного конструктора,то компілятор генерує конструктор без параметрів та виділяє память для обєктів.
Конструктори викликаються для:
1.глобальних обєктів в момент їх опису;
2.для локальних обєктів в момент виклику функції в яких вони описані;
3.для обєктів створенних за допомогою вказівників в момент запису new для відповідного вказівника.
Конструктори базових класів мають пріорітет при виконанні стосовно конструкторів породжених класів.
15. Опишіть процес руйнування об’єкта (деструктори).
Деструктор-це спеціальний метод призначений для знищення обєкта. Він не має параметрів і не повертає жодного значення. Деструктор може бути тільки один. Викликається коли обєкт автоматично знищується в таких випадках:
1. для глобальних обєктів у завершення програми;
2. для локальних обєктів в момент завершення відповідних функцій;
3. для динамічно розподілених обєктів в момент delete;
Якщо деструктор в класі не описано,то він не створюється за замовчуванням.