Зареєструватись    Увійти
Авторизація
» Технології навчання » Про об'єктноорієнтоване програмування

Про об'єктноорієнтоване програмування

Категорія: Технології навчання
Про об'єктноорієнтоване програмування

Класичним способом створення комп'ютерних програм є структурне програмування. Цей принцип з'явився в шістдесятих роках минулого століття як відповідь на кризу розвитку програмного забезпечення, а його метою було забезпечення більшої ясності створюваних додатків. Цей ефект досягнуто за допомогою введення в мови програмування структур, таких як: функції, процедури та модулі, які ввели порядок і дисципліну в хаотично писавшийся до тих пір код. Одним з найбільш популярних структурних мов програмування є Pascal. Програмуючи на Pascal, слід усвідомлювати. Що цей мова орієнтується на дію, що не завжди вірно відображає модельовану дійсність.

Також мислення структурами чуже і досить неприродно для більшості нормальних людей. Навколишнє ми сприймаємо реальність швидше як світ об'єктів. При цьому має значення вміння людини абстрагуватися від приватного. Це дозволяє дізнаватися будинок, не бачачи цегли, деревини та черепиці, з яких він побудований, а комп'ютер сприймати не як набір транзисторів, мікросхем і кілометрів з'єднувальних проводів, а як єдине ціле. Люди, тварини, рослини, меблі, комп'ютери, будинки, транспорт – все сприймається нами як об'єкти. Вони мають своє призначення і характерні риси, які ми можемо описати. Ми знаємо, як вони зазвичай ведуть себе в навколишньому світі, які дії можна виконати з їх допомогою. Знання такого роду стали основою для створення формальних визначень, які використовують програмісти.

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

Об'єктно-орієнтоване програмування (англ. Object Orieted Programmig) дозволяє моделювати об'єкти реального світу з їх допомогою віртуальних аналогів, пропонованих мовами програмування. Це в більшою мірою інтуїтивний спосіб створення програм порівняно з структуральным програмуванням. Він полягає в описі модельованих об'єктів за допомогою атрибутів і методів. Крім того, так само як це відбувається в реальному світі, об'єкти можуть спілкуватися (взаємодіяти), що помітно полегшує моделювання зв'язків між ними.

В традиційних мовах програмування найменшою програмної одиницею є процедура або функція. В об'єктному підході таким елементом є клас. Він є основою для створення так званих інстанцій (англ. istace), тобто таких примірників об'єктів. Великою перевагою об'єктного підходу є можливість повторного використання раніше створених об'єктів у знову розроблювальних програмах. Така практика дозволяє економити час, необхідне для створення чергового програми, а також значно підвищує його надійність. Багато разів використовується клас зазвичай ретельніше відпрацьований. І ймовірність наявності в ньому помилки набагато менше.

Об'єктно-орієнтоване програмування базується на трьох основних, використовуваних у всіх сучасних мовах програмування поняття: наслідування, інкапсуляція та поліморфізм.

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

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

Останнє з понять – поліморфізм – позначає, що створені реалізації можна розширювати. Методи в об'єктах-нащадків мають такі ж імена, як і в материнських об'єктах, хоча можуть виконувати інші дії. Таким чином, програміст, викликаючи метод певного класу в ієрархії спадкування, не повинен замислюватися над тим, з яким класом він має справу.

Шановний користувач, Ви зайшли як незареєстрований відвідувач. Ми пропонуємо Вам пройти реєстрацію для просмотра усієї інформаціі ПОРТАЛА!
Коментувати новину
Ваше Ім'я:
Ваш E-Mail:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищенной ссылки Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Ввести код: