Поняття об'єктно-орієнтованого програмування - інформатика, програмування
6 Проста об'єктна модель і посилальної-об'єктна модель
7 Мови і програмне оточення
Історично склалося так, що програмування виникло і розвивалося як процедурне програмування, яке передбачає, що основою програми є алгоритм, процедура обробки даних. Об'єктно-орієнтоване програмування - це методика розробки програм, в основі якої лежить поняття об'єкта як певної структури, яка описує об'єкт реального світу, його поведінка. Завдання, яке вирішується з використанням методики об'єктно-орієнтованого програмування, описується в термінах об'єктів і операцій над ними, а програма при такому підході є набором об'єктів і зв'язків між ними. Іншими словами можна сказати, що об'єктно-орієнтоване програмування являє собою метод програмування, який дуже близько нагадує нашу поведінку. Воно є природною еволюцією попередніх нововведень в розробці мов програмування. Об'єктно-орієнтоване програмування є більш структурним, ніж всі попередні розробки, що стосуються структурного програмування. Воно також є більш модульним і більш абстрактним, ніж попередні спроби абстрагування даних і перенесення деталей програмування на внутрішній рівень.
Використання об'єктно-орієнтованого програмування є хорошим рішенням при розробці великих програмних проектів. Чим проект об'ємніше і складніше, тим більше вигоди ви отримаєте при використанні об'єктно-орієнтованої технології програмування. Одним з найбільших переваг об'єктно-орієнтованого програмування є можливість багаторазового використання програмного коду. Якщо ви, наприклад, створили клас, то можете породжувати від нього нові класи і змінювати їх властивості та функціональне призначення.
Як приклад об'єктно-орієнтованої мови в подальшому будемо розглядати Borland Pascal. Мовні розширення Borland Pascal надають всі засоби об'єктно-орієнтованого програмування: велику структурованість і модульність, велику абстрактність і вбудовану безпосередньо в мову можливість повторного використання. Всі ці характеристики відповідають коду, який є більш структурованим, більш гнучким і більш легким для обслуговування.
Об'єктно-орієнтоване програмування вимагає залишити в стороні характерні уявлення про програмування, які довгі роки розглядалися як стандартні. Однак після того, як це зроблено, об'єктно-орієнтоване програмування стає простим, наочним і чудовим засобом вирішення багатьох проблем, які доставляють неприємності традиційному програмному забезпеченню.
1. Основні поняття об'єктно-орієнтованого програмування
В основі об'єктно-орієнтованого мову програмування лежать два основних поняття: об'єкт і клас. Основними характеристичними властивостями цих понять є:
Інкапсуляція - комбінування записів з процедурами і функціями, маніпулюють полями цих записів, формує новий тип даних - об'єкт (під записом розуміється змінна типу "запис").
Спадкування - визначення об'єкта та його подальше використання для побудови ієрархії породжених об'єктів з можливістю для кожного породженого об'єкта, що відноситься до ієрархії, доступу до коду і даним всіх що породжують об'єктів.
Поліморфізм - присвоювання дії одного імені, яке потім спільно використовується вниз і вгору по ієрархії об'єктів, причому кожен об'єкт ієрархії виконує цю дію способом, саме йому відповідним.
2. Об'єкт - як базове поняття в об'єктно-орієнтованому програмуванні
Поняттю "об'єкт" зіставляють ряд доповнюють один одного визначень. Нижче наведені деякі з них.
Об'єкт - це відчутна реальність, що характеризується чітко визначеним поведінкою.
Об'єкт - особливий упізнаваний предмет, блок або сутність (реальна або абстрактна), що має важливе функціональне призначення в даній предметній області.
Об'єкт може бути охарактеризований структурою, його станом, поведінкою і індивідуальністю. Стан об'єкта визначається переліком всіх можливих (зазвичай статичних) властивостей і поточними значеннями (зазвичай динамічними) кожного з цих властивостей. Властивості об'єкта характеризуються значеннями його параметрів. Поведінка об'єкта описує, як об'єкт впливає на інші об'єкти або як він піддається впливу з боку інших об'єктів з точки зору зміни його власного стану та стану інших об'єктів. Кажуть також, що поведінка об'єкта визначається його діями. Певний вплив одного об'єкта на інший з метою викликати відповідну реакцію називають операцією. В об'єктно-орієнтованих мовах програмування операції називають методами.
Можна виділити п'ять типів операцій:
- конструктор, створення і ініціалізація об'єкта;
- деструктор, що руйнує об'єкт;
- модифікатор, що змінює стан об'єкта;
- селектор для доступу до змінних об'єкта без їх зміни;
- итератор для доступу до змісту об'єкта частинами в певній послідовності.
Відома й інша класифікація методів об'єкта, коли виділяють функції управління, реалізації, доступу і допоміжні функції.
Під індивідуальністю об'єкта розуміють властивість об'єкта, що дозволяє відрізняти цей об'єкт від усіх інших об'єктів.
Об'єкти можуть перебувати в певних відносинах один до одного. Ці відносини можуть бути ієрархічними. Основні ієрархічні відносини - це відносини використання та включення. Ставлення використання реалізується посилкою повідомлень від об'єкта A до об'єкту B. При цьому об'єкт A може виступати в ролі:
- активного або впливає об'єкта, коли він впливає на інші об'єкти, але сам впливу не піддається;
- пасивного або виконуючого, коли об'єкт піддається впливу, але сам на інші об'єкти не впливає;
- посередника, якщо об'єкт і впливає і сам піддається впливу.
Ставлення включення має місце, коли складений об'єкт містить інші об'єкти.
Читати далі: Інкапсуляція
= 0; while (! treeSortIter.EndOfList ())