- •Тема 1. Обєктно - орієнтовне програмування 4
- •Тема 2. Основні концепції парадигми програмування 14
- •Тема 7. Універсальна мова моделювання (Unified Modelling Language або uml) 88
- •Тема 8. Бібліотека стандартних шаблонів stl (Standard Template Library) 91
- •Тема 9. Шаблони проектування stl (Standard Template Library) 104
- •Лекція № 1 Тема 1. Обєктно - орієнтовне програмування План лекції
- •Зміст лекції Вступ.
- •1.1. Поняття те визначення ооп.
- •1.2. Об' єктно - орієнтована методологія (оом).
- •1.3. Об' єктно - орієнтовані мови програмування.
- •1.4. Системи і середовища програмування топ.
- •Лекція № 2 Тема 2. Основні концепції парадигми програмування План лекції
- •Зміст лекції
- •2.1. Парадигми програмування: об' єктно - орієнтована парадигма.
- •2.2. Основні концепції топ.
- •2.3. Моделювання. Об' єктна декомпозиція.
- •2.4. Ідеї топ. Топ принцип - поліморфізм.
- •2.5. Інкапсуляція. Наслідування.
- •2.6. Об' єктний рефакторинг.
- •2.7. Системи і середовища програм.
- •Лекція № 3
- •План лекції
- •Зміст лекції
- •3.1. Абстракції даних
- •3.4. Типи, що перераховують
- •3.5. Вирази
- •3.6. Інструкції
- •Лекція № 4
- •План лекції
- •Зміст лекції
- •4.2. Структура програми, функція main без параметрів.
- •4.3. Основні типи даних.
- •4.4. Константи, змінні, вирази та пріоритет операцій.
- •4.5. Базові конструкції структурного програмування - галуження, цикл, передача управління.
- •4.6. Загальні та бітові логічні операції.
- •4.7. Тернарний опертор.
- •4.8. Вказівники і посилання; масиви.
- •Лекція № 5
- •План лекції
- •Зміст лекції
- •5.1. Користувацькі типи - typedef, enum, struct, union. Функції.
- •5.2. Передача параметрів та повернення значень з функцій.
- •5.3. Рекурсія, перевантаження функцій, функція main з параметрами.
- •5.4. Глобальні і локальні визначення, простори імен та їх використання.
- •5.5. Директиви препроцесора.
- •5.6. Стандартний ввід/вивід - бібліотека stdio.H.
- •5.7. Основи потокового введенню/виводу - бібліотека iostream.H.
- •Лекція № 6
- •План лекції
- •Зміст лекції
- •6.2. Екземпляри класів або об' єкти.
- •6.3. Поля (атрибути) та методи.
- •6.4. Специфікатори доступу (private, protected, public).
- •6.5. Вказівник this.
- •6.6. Перевантаження методів.
- •6.7. Конструктори і деструктори класів.
- •6.8. Перевантаження конструкторів.
- •6.9. Конструктори копіювання та перетворення.
- •6.10. Закон Деметри
- •Лекція № 7 Тема 7. Універсальна мова моделювання (Unified Modelling Language або uml) План лекції
- •2.Основні поняття та принципи.
- •3.Зв'язки між класами (асоціація, агрегація, композиція, узагальнення).
- •4.Uml: діаграми класів. Uml: діаграми взаємодії. Uml: діаграми послідовності. Зміст лекції
- •7.1. Сфера застосування.
- •7.2. Основні поняття та принципи.
- •7.3. Зв'язки між класами (асоціація, агрегація, композиція, узагальнення).
- •7.4. Uml: діаграми класів. Uml: діаграми взаємодії. Uml: діаграми послідовності.
- •Лекція № 8 Тема 8. Бібліотека стандартних шаблонів stl (Standard Template Library)
- •План лекції
- •Зміст лекції
- •8.1. Бібліотека стандартних шаблонів - stl (призначення, основні можливості, сфера застосування).
- •8.2. Стандартні потоки і потокові класи.
- •8.3. Стрічки (основні операції та функції; переваги порівняно із c - стрічками).
- •8.4. Поняття про контейнери, ітератори, функціональні об' єкти та алгоритми stl.
- •Лекція № 9 Тема 9. Шаблони проектування stl (Standard Template Library) План лекції
- •1.Шаблони проектування (designpatterns).
- •Зміст лекції
- •9.1. Шаблони проектування (designpatterns).
- •9.2. Класифікація шаблонів проектування stl (creational, structural, behavior, concurrencypatterns).
- •9.3. Можливості застосування шаблонів проектування stl.
7.4. Uml: діаграми класів. Uml: діаграми взаємодії. Uml: діаграми послідовності.
Діаграма класів (class diagram) служити для представлення статичної структури моделі системи в термінології класів об' єктно - орієнтованого програмування.
Клас (class) в мові UML служити для позначення безлічі об' єктів, які мають однакову структуру, поведінку і стосунки з об' єктами з інших класів. Графічно клас зображається у вигляді прямокутника, який додатково може бути розділений горизонтальними лініями на розділи або секції. У цих розділах можуть вказуватися ім 'я класу, атрибути (змінні) і операції (методи).
Обов'язковим елементів позначення класу являється його ім 'я. На початкових етапах розробки діаграми окремі класи можуть позначатися пробачимо прямокутником з вказівкою тільки імені відповідного класу.
Атрибути класу
У другій згори секції прямокутника класу записуються його атрибути (attributes) або властивості. Шкірному атрибуту класу відповідає окремий рядок тексту, який складається з квантора видимості атрибуту, імені атрибуту, його кратності, типу значень атрибуту і, можливо, його початкового значення :
<квантор видимості><ім 'я атрибуту>[кратність]: <тип атрибуту> = <початкове значення>{рядок- властивість}
Квантор видимості може приймати одне з трьох можливих значень і, відповідно, відображається за допомогою спеціальних символів :
Символ "+" означає атрибут із зоною видимості типу загальнодоступний (public).
Символ "#" означає атрибут із зоною видимості типу захищений (protected).
І, нарешті, знак "-" означає атрибут із зоною видимості типу закритий (private).
Квантор видимості може бути опущень. У цьому випадку його відсутність просто означає, що видимість атрибуту не вказується. Ця ситуація відрізняється від прийнятих за умовчанням догод в традиційних мовах програмування, коли відсутність квантора видимості трактується як public або private.
Ім 'я атрибуту є рядком тексту, який використовується як ідентифікатор відповідного атрибуту і тому має бути унікальною в межах цього класу. Ім 'я атрибуту є єдиним обов'язковим елементом синтаксичного позначення атрибуту.
Кратність атрибуту характеризує загальну кількість конкретних атрибутів цього типу, що входять до складу окремого класу.
У нотації UML тип атрибуту іноді поклад від мови програмування, якові передбачається використати для реалізації цієї моделі. У простому випадку тип атрибуту вказується рядком тексту, що має осмислене значення в межах пакету або моделі, до яких відноситься даний клас.
Початкове значення служити для завдання деякого початкового значення для відповідного атрибуту у момент створення окремого екземпляра класу. Якщо початкове значення не вказане, то значення відповідного атрибуту не визначене на момент створення нового екземпляра класу.
Підкреслення рядка атрибуту означає, що відповідний атрибут може приймати підмножину значень з деякої області значень атрибуту, визначуваної його типом. Ці значення можна розглядати як набір однотипних записів або масив, які в сукупності характеризують кожен об' єкт класу.
Наприклад, якщо деякий атрибут завдань у виді форма: Прямокутник-це означатиме, що усі об' єкти цього класу можуть мати декілька різних форм, кожна з яких є прямокутником.
Рядок- властивість служити для вказівки значень атрибуту, які не можуть бути змінені в програмі при роботі з цим типом об' єктів. Фігурні дужки якраз і означають фіксоване значення відповідного атрибуту для класу в цілому, яку повинні приймати усі новостворювані екземпляри класу без виключення. Це значення береться за початкове значення атрибуту, яку не може бути перевизначене в подальшому. Відсутність рядка- властивості за умовчанням трактується так, що значення відповідного атрибуту може бути змінене в програмі.
Операції класу
У третій згори секції прямокутника записуються операції або методи класу. Операція (operation) є деяким сервісом, що надається кожним екземпляром класу на певну вимогу. Сукупність операцій характеризує функціональний аспект поведінки класу. Кожній операції класу відповідає окремий рядок:
<квантор видимості><ім 'я операції>(список параметрів): <вираження типу повертаного значення>{рядок- властивість}
Для квантора видимості і імені операції справедливо вусі те ж що і для квантора видимості атрибуту і імені атрибуту.
Список параметрів є переліком розділених комою формальних параметрів, кожен з яких може бути представлень в наступному виді:
<вид параметра><ім 'я параметра>:<вираження типу>=<значення параметра за умовчанням>.
Тут вид параметра - одне з ключових слів in, out або inout зі значенням in за умовчанням. Ім 'я параметра це ідентифікатор відповідного формального параметра. Вираження типу є покладом від конкретної мови програмування специфікацією типу повертаного значення. Вид значення за умовчанням залежить від конкретної мови програмування. Ті ж торкається і типу повертаного значення. Двокрапка і вираження типу повертаного значення можуть бути опущені, якщо операція не повертає ніякого значення.
Операція із зоною дії на обвішай клас показується підкресленням імені і рядка вираження типу. За умовчанням під областю операції розуміється об' єкт класу.
Операція, яка не може змінювати стан системи і, відповідно, не має ніякого побічного ефекту, позначається рядком- властивістю "{запитий}" ("{query}"). У осоружному випадку, операція може змінювати стан системи, хоча немає ніяких гарантій, що вона це робитиме.
Література
Катаев М.Ю. Объектно-ориентированное программирование: Учебное пособие. - Томск: Томский межвузовский центр дистанционного образования, 2000. - 145 с.
Кент Рейсдорф и Кен Хендерсон BORLAND C++BUILDER. ОСВОЙ САМОСТОЯТЕЛЬНО
Лафоре Р. Обьектно–ориентированное программирование в С++. 4-е изд.: – СПб: Питер, 2004 – 902 с.
Львов М.С., Співаковський О.В. Вступ до об’єктно-орієнтоване програмування. Навчальний посібник. - Херсон: ХГПУ, 2000.- 238 с.:іл.
М.С. Львов. О.В. СпіваковськийВступ до об’єктно-орієнтоване програмування. Навчальний посібник. - Херсон: ХГПУ, 2000.- 238 с.:іл.
Шилдт Герберт. Искусство программирования на С++. Санкт-Питербург, 2005.-496 с., ил.
Шилдт, Герберт. C++: руководство для начинающих, 2-е издание. : Пер. с англ. — М. : Издатель- ский дом "Вильяме", 2005. — 672 с. : ил. — Парал. тит. англ.
Эккель Брюс. Философия С++. Введение в стандартный С++ (2-е издание). - СПб: Питер, 2004 – 573 с.
Эккель Брюс. Философия С++. Практическое программирование (2-е издание). - СПб: Питер, 2004 – 610 с., ил.
Юркова Т. А., Ушаков Д. М., Паскаль для школьников. — СПб.: Питер, 2010. — 256 с.: ил.
Visual Studio 2010 и введение в .NET 4.0 и для профессионалов. Макки, Алекс : Пер. с англ. — М. : ООО И. Д. Вильямс". 2010. — 416 с. : ил. — Парал, тит. англ.
