НаУКМА

Інформаційний пакет ЄКТС

<< повернутись

Код: 315438

Назва:

Методи об`єктно-орієнтованого програмування



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

Тип дисципліни: Вибіркова

Рік навчання: 3

Семестр: 0сінній

Кількість кредитів: 4 (загальна кількість годин - 120 год.; аудиторні години - 42 год.; лекції - 22 год.; практичні заняття - 20 год.; самостійна робота - 78 год.)

Форма контролю: залік

Викладач(і): Бублик В.В.

Результати навчання: •оволодіти методами об’єктного, ієрархічного і узагальненого програмування; •знати ідіоми і взірці архітектур взаємодій класів і об’єктів;•оволодіти методами розробки програмних систем з використанням впорядкованих за рівнями об’єктно-орієнтованих абстракцій з гнучкими інтерфейсами і повторно вживаними вхідними кодами мовою програмування С++.

Спосіб навчання: аудиторний, дистанційний.

Необхідні обовязкові попередні й супутні модулі: Процедурне програмування, Об’єктно-орієнтоване програмування

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


Рекомендована література: 1. В.В.Бублик, Об’єктно-орієнтоване програмування, ІТКника, 2015

2. Peter Gotschling, Discuvering Modern C++, Addison-Wesley, 2021

3. Grady Booch, Object-Oriented Analysis and Design with Applications, Addison-Wesley, 2007

4. Alexandrescu A. Modern C++ Design: Generic Programming and Design Patterns Applied, Addison-Wesley, 2001.

5. E. Gamma, R. Helm, R. Johnson, J. Vlisside Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994.

6. Meyer B. Object-Oriented Software Construction, Prentice Hall, 1988.

7. Meyers S. More Effective C++ 35 New Ways to Improve Your Programs and Designs, Addison-Wesley, 2008.

8. Stroustrup B. The Design and Evolution of C++, Addison-Wesley, 1994.

9. H. Sutter, A. Alexandrescu, C++ Coding Standards: 101 Rules, Guidelines, and Best Practices, Addison-Wesley, 2005.

Форми та методи навчання: лекційні заняття, практичні заняття, самостійна робота

Методи й критерії оцінювання: • Студент допускається до складання заліку якщо кількість набраних ним балів за семестр становить не менше 40 балів. Залік вважається не зданим, якщо сумарна кількість балів з дисципліни складає менше 60 балів.

Мова навчання: Українська