Головна » Інформатика

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

МЕТОДИ ОБ'ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМУВАННЯ Володимир Васильович Бублик Кафедра мультимедійних систем, кімн. 204/1 Консультації: середа, четвер 15-16 год. http://emerecu.ukma.kiev.ua/efolio You are welcome!

Що таке ООП? Те, чим займаються розробники великих і надвеликих програмних систем   

Думка авторитета "This paradigm closely reflects the structure of systems 'in the real world', and it is therefore well suited to model complex systems with complex behaviors.“   Niklaus Wirth, "Good Ideas through the Looking Glass"

Поки ще може не пізно? “By claiming that they can contribute to software engineering, the soft scientists make themselves even more ridiculous. (Not less dangerous, alas!) In spite of its name, software engineering requires (cruelly) hard science for its support.”   Edsgar W. Dijkstra, “How do we tell truths that might hurt”, EWD498?

Програма МООП Об’єктна модель Типова схема класу Обробка винятків Відкладене копіювання Функтори Вкладення (layering) об’єктів Ієрархія класів Поліморфізм Параметризовані класи (class template) Рефакторінг програмної системи Проектні взірці (design pattern)   

  Література

ЛЕКЦІЯ 1. ОБ'ЄКТНА МОДЕЛЬ   

Об’єктно-орієнтоване програмування Методологія програмування, яка розглядає програму як сукупність об’єктів, кожен з яких є об’єктом певного класу, а самі класи утворюють систему успадкування. Без успадкування маємо програмування на основі абстрактних типів даних, а мову‑ об’єктну.   

Три кити ООП ООП ґрунтується на об'єктах, а не алгоритмах, пов'язаних ієрархіями вкладення; Кожен об'єкт суть екземпляр певного класу Класи утворюють ієрархію спадкувань “ООП = Інкапсуляція, успадкування, поліморфізм” залишимо кухаркам   

Моделі програмних систем   

  Елементи об'єктної моделі (за Г.Бучем1) Абстрагування Інкапсуляція Модульність Ієрархічність Типізація Паралелізм Збережність 1) Г.Буч, Объектно-ориентированный анализ и проектирование, Бином, 1998

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

  Інкапсуляція Інкапсуляція‑це процесс розмежування елеметів об’єкту, що визначають його будову і поведінку з метою відокремлення контрактних зобов’язань абстракції від їх реалізації.

  Модульність Модульність‑це властивість системи, яку розкладено на внутрішньо зв’язані, але слабо пов’язані одне з одним частини. Модульність дозволяє зберігати абстракції осібно

  Ієрархічність Ієрархія‑це упорядкування абстракцій за рівнями. Два види ієрархії: класів (is a: бути чимось); об’єктів (part of: входити до чогось).

  Типізація Типізація ‑ це засіб захисту від використання об’єктів одного класу замість іншого, або принаймні спосіб управління цим використанням. Статичне (раннє) vs. динамічне (пізнє) зв’язування імен з типами. Успадкування + пізнє зв’язування = поліморфізм

  Паралелізм Паралелізм‑це властивість, що відрізняє активні об’єкти від пасивних Паралелізм дозволяє різним об'єктам функціонувати одночасно

  Збережність Збережність‑це властивість об’єкту існувати в часі, переживши процес, який його породив, та (або) у просторі, переміщаюсиь за межі свого адресного простору.

 Об'єкт Об’єкту властиві стан, поведінка та ідентичність; структура і поведінка подібних об’єктів визначаються спільним для них класом.

  Клас Клас ― це множина об’єктів, що мають спільну структуру і поведінку.

Ієрархія класів Успадкування - це таке відношення між класами, при якому один клас повторює структуру і поведінку іншого класу (поодиноке успадкування ) або інших класів (кратне успадкування ).   Студент теж людина!

  Схема будови класу class T { // Конструктор створює нову ідентичність T(T1,…,Tn); T(const T&); // Можливий варіант: T(T&); але не Т(Т) // Копіювальне присвоєння не створює нової // ідентичності T& operator=(const T&); // Деструктор видаляє ідентичність ~T(); };

 Канонічні форми Арифметичних операцій const T& operator op (const T&) const; const T& operator op (const T&,const T&); Копіювального присвоєння T& operator= (const T&); T operator= ( T&) T& operator= ( T) T operator= ( T)

Властивості конструкторів Копіювання Конвертори Проект рядків символів 


Теги: Програмування, Бублик В.В.
Навчальний предмет: Інформатика
Переглядів/завантажень: 678/129


Схожі навчальні матеріали:
Всього коментарів: 0
avatar