Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Визначення ООП і його основні концепції

Прототип

Об'єкт

Клас

Поліморфізм

Спадкування

Інкапсуляція

Абстакція

Абстрагування - це спосіб виділити набір значущих характеристик об'єкта , виключаючи з розгляду незначущі . Відповідно, абстракція - це набір всіх таких характеристик. [ 1 ]

Інкапсуляція - це властивість системи , що дозволяє об'єднати дані і методи , що працюють з ними в класі , і приховати деталі реалізації від користувача. [ 1 ]

Спадкування - це властивість системи , що дозволяє описати новий клас на основі вже існуючого з частково або повністю позичає функціональністю. Клас , від якого здійснюється спадкування , називається базовим , батьківським або суперкласом . Новий клас - нащадком , спадкоємцем або похідним класом. [ 1 ]

Поліморфізм - це властивість системи використовувати об'єкти з однаковим інтерфейсом без інформації про тип і внутрішній структурі об'єкта. [ 1 ]

Клас є описуваної на мові термінології ( простору імен ) вихідного коду моделлю ще неіснуючій сутності ( об'єкта) . Фактично він описує пристрій об'єкта , будучи свого роду кресленням. Кажуть , що об'єкт - це екземпляр класу. При цьому в деяких виконуючих системах клас також може представлятися деяким об'єктом при виконанні програми за допомогою динамічної ідентифікації типу даних. Зазвичай класи розробляють таким чином , щоб їх об'єкти відповідали об'єктам предметної області.

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

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

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

Наявність інкапсуляції достатньо для об'єктності мови програмування , але ще не означає його об'єктної орієнтованості - для цього потрібна наявність успадкування.

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

ООП має вже більш ніж сорокарічну історію , але , незважаючи на це , досі не існує чіткого загальноприйнятого визначення даної технології [ 2 ] . Основні принципи, закладені в першій об'єктні мови і системи , піддалися істотної зміни (або спотворення ) і доповненню при численних реалізаціях наступного часу . Крім того , приблизно з середини 1980 -х років термін « об'єктно -орієнтований » став модним , в результаті з ним сталося те ж саме , що дещо раніше з терміном « структурний » ( який став модним після поширення технології структурного програмування ) - його стали штучно « прикріплювати » до будь-яких нових розробок , щоб забезпечити їм привабливість. Бьерн Страуструп в 1988 році писав , що обгрунтування « об'єктної орієнтованості » чогось , в більшості випадків , зводиться до помилкового силогізму : « X - це добре. Об'єктна орієнтованість - це добре. Отже , X є об'єктно - орієнтованим ».

Роджер Кінг аргументовано наполягав , що його кіт є об'єктно - орієнтованим. Крім інших своїх достоїнств , кіт демонструє характерну поведінку , реагує на повідомлення , наділений успадкованими реакціями і управляє своїм , цілком незалежним , внутрішнім станом.

На думку Алана Кея , творця мови Smalltalk , якого вважають одним з «батьків -засновників» ООП , об'єктно- орієнтований підхід полягає в наступному наборі основних принципів ( цитується за вищезгаданій книзі Т. Бадда ) .

1 . Все є об'єктом.

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

3 . Кожен об'єкт має незалежну пам'ять , яка складається з інших об'єктів.

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

5 . У класі задається поведінка ( функціональність ) об'єкта . Тим самим всі об'єкти, які є екземплярами одного класу , можуть виконувати одні й ті ж дії.

6 . Класи організовані в єдину деревовидну структуру із загальним коренем , звану ієрархією успадкування. Пам'ять і поведінка, пов'язана з екземплярами певного класу , автоматично доступні будь-якому класу , розташованому нижче в ієрархічному дереві.

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

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


Читайте також:

  1. I визначення впливу окремих факторів
  2. II. Визначення мети запровадження конкретної ВЕЗ з ураху­ванням її виду.
  3. II. Мотивація навчальної діяльності. Визначення теми і мети уроку
  4. II. Основні закономірності ходу і розгалуження судин великого і малого кіл кровообігу
  5. Ocнoвнi визначення здоров'я
  6. V Суттю Я-концепції стає самоактуалізація в межах моральних правил і більше значимих особистісних цінностей.
  7. VI.3.3. Особливості концепції Йоганна Гайнріха Песталоцці
  8. VI.3.4. Особливості концепції Йоганна Фрідриха Гербарта
  9. Адвокатура в Україні: основні завдання і функції
  10. Аксіологія як наука про цінності. Філософські концепції цінностей.
  11. Алгебраїчний спосіб визначення точки беззбитковості
  12. Амортизація основних засобів, основні методи амортизації




Переглядів: 2627

<== попередня сторінка | наступна сторінка ==>
Лекція 15 | Визначити ООП можна і багатьма іншими способами.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.016 сек.