СПОСОБИ ОБ'ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМУВАННЯ
Завантажити презентаціюПрезентація по слайдам:
МЕТОДИ ОБ'ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМУВАННЯ Володимир Васильович Бублик Кафедра мультимедійних систем, кімн. 204/1 Консультації: середа, четвер 15-16 год. http://emerecu.ukma.kiev.ua/efolio You are welcome! © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
Що таке ООП? Те, чим займаються розробники великих і надвеликих програмних систем © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
Думка авторитета "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.“ © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Niklaus Wirth, "Good Ideas through the Looking Glass" © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
Поки ще може не пізно? “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.” © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Edsgar W. Dijkstra, “How do we tell truths that might hurt”, EWD498? © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
Програма МООП Об’єктна модель Типова схема класу Обробка винятків Відкладене копіювання Функтори Вкладення (layering) об’єктів Ієрархія класів Поліморфізм Параметризовані класи (class template) Рефакторінг програмної системи Проектні взірці (design pattern) © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Література © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
ЛЕКЦІЯ 1. ОБ'ЄКТНА МОДЕЛЬ © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
Об’єктно-орієнтоване програмування Методологія програмування, яка розглядає програму як сукупність об’єктів, кожен з яких є об’єктом певного класу, а самі класи утворюють систему успадкування. Без успадкування маємо програмування на основі абстрактних типів даних, а мову‑ об’єктну. © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
Три кити ООП ООП ґрунтується на об'єктах, а не алгоритмах, пов'язаних ієрархіями вкладення; Кожен об'єкт суть екземпляр певного класу Класи утворюють ієрархію спадкувань “ООП = Інкапсуляція, успадкування, поліморфізм” залишимо кухаркам © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
Моделі програмних систем © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Елементи об'єктної моделі (за Г.Бучем1) Абстрагування Інкапсуляція Модульність Ієрархічність Типізація Паралелізм Збережність 1) Г.Буч, Объектно-ориентированный анализ и проектирование, Бином, 1998 © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Абстрагування Абстракція виділяє істотні характеристики об’єкту, що відрізняють його від усіх інших видів об’єктів і в такий спосіб визначає його концептуальні межі з точки зору спостерігача. © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Інкапсуляція Інкапсуляція‑це процесс розмежування елеметів об’єкту, що визначають його будову і поведінку з метою відокремлення контрактних зобов’язань абстракції від їх реалізації. © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Модульність Модульність‑це властивість системи, яку розкладено на внутрішньо зв’язані, але слабо пов’язані одне з одним частини. Модульність дозволяє зберігати абстракції осібно © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Ієрархічність Ієрархія‑це упорядкування абстракцій за рівнями. Два види ієрархії: класів (is a: бути чимось); об’єктів (part of: входити до чогось). © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Типізація Типізація ‑ це засіб захисту від використання об’єктів одного класу замість іншого, або принаймні спосіб управління цим використанням. Статичне (раннє) vs. динамічне (пізнє) зв’язування імен з типами. Успадкування + пізнє зв’язування = поліморфізм © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Паралелізм Паралелізм‑це властивість, що відрізняє активні об’єкти від пасивних Паралелізм дозволяє різним об'єктам функціонувати одночасно © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Збережність Збережність‑це властивість об’єкту існувати в часі, переживши процес, який його породив, та (або) у просторі, переміщаюсиь за межі свого адресного простору. © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Об'єкт Об’єкту властиві стан, поведінка та ідентичність; структура і поведінка подібних об’єктів визначаються спільним для них класом. © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Клас Клас ― це множина об’єктів, що мають спільну структуру і поведінку. © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
Ієрархія класів Успадкування - це таке відношення між класами, при якому один клас повторює структуру і поведінку іншого класу (поодиноке успадкування ) або інших класів (кратне успадкування ). © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Студент теж людина! © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Схема будови класу class T { // Конструктор створює нову ідентичність T(T1,…,Tn); T(const T&); // Можливий варіант: T(T&); але не Т(Т) // Копіювальне присвоєння не створює нової // ідентичності T& operator=(const T&); // Деструктор видаляє ідентичність ~T(); }; © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
ПОВТОРИТИ © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Канонічні форми Арифметичних операцій 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) © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
© 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель * Властивості конструкторів Копіювання Конвертори Проект рядків символів © 2006 Бублик В.В. МООП. Лекція 1. Об'єктна модель
Схожі презентації
Категорії