МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||
Визначення ООП і його основні концепціїПрототип Об'єкт Клас Поліморфізм Спадкування Інкапсуляція Абстакція Абстрагування - це спосіб виділити набір значущих характеристик об'єкта , виключаючи з розгляду незначущі . Відповідно, абстракція - це набір всіх таких характеристик. [ 1 ] Інкапсуляція - це властивість системи , що дозволяє об'єднати дані і методи , що працюють з ними в класі , і приховати деталі реалізації від користувача. [ 1 ] Спадкування - це властивість системи , що дозволяє описати новий клас на основі вже існуючого з частково або повністю позичає функціональністю. Клас , від якого здійснюється спадкування , називається базовим , батьківським або суперкласом . Новий клас - нащадком , спадкоємцем або похідним класом. [ 1 ] Поліморфізм - це властивість системи використовувати об'єкти з однаковим інтерфейсом без інформації про тип і внутрішній структурі об'єкта. [ 1 ] Клас є описуваної на мові термінології ( простору імен ) вихідного коду моделлю ще неіснуючій сутності ( об'єкта) . Фактично він описує пристрій об'єкта , будучи свого роду кресленням. Кажуть , що об'єкт - це екземпляр класу. При цьому в деяких виконуючих системах клас також може представлятися деяким об'єктом при виконанні програми за допомогою динамічної ідентифікації типу даних. Зазвичай класи розробляють таким чином , щоб їх об'єкти відповідали об'єктам предметної області. Сутність в адресному просторі обчислювальної системи , що з'являється при створенні екземпляра класу або копіювання прототипу (наприклад , після запуску результатів компіляції і зв'язування вихідного коду на виконання ) . Прототип - це об'єкт -зразок , за образом і подобою якого створюються інші об'єкти. Об'єкти - копії можуть зберігати зв'язок з батьківським об'єктом , автоматично наслідуючи зміни в прототипі ; ця особливість визначається в рамках конкретної мови. У центрі ООП перебуває поняття об'єкта. Об'єкт - це сутність , якою можна посилати повідомлення , і яка може на них реагувати , використовуючи свої дані. Об'єкт - це екземпляр класу. Дані об'єкта приховані від решти програми . Приховування даних називається инкапсуляцией . Наявність інкапсуляції достатньо для об'єктності мови програмування , але ще не означає його об'єктної орієнтованості - для цього потрібна наявність успадкування. Але навіть наявність інкапсуляції і спадкування не робить мову програмування повною мірою об'єктним з точки зору ООП. Основні переваги ООП виявляються тільки в тому випадку , коли в мові програмування реалізований поліморфізм ; тобто можливість об'єктів з однаковою специфікацією мати різну реалізацію. ООП має вже більш ніж сорокарічну історію , але , незважаючи на це , досі не існує чіткого загальноприйнятого визначення даної технології [ 2 ] . Основні принципи, закладені в першій об'єктні мови і системи , піддалися істотної зміни (або спотворення ) і доповненню при численних реалізаціях наступного часу . Крім того , приблизно з середини 1980 -х років термін « об'єктно -орієнтований » став модним , в результаті з ним сталося те ж саме , що дещо раніше з терміном « структурний » ( який став модним після поширення технології структурного програмування ) - його стали штучно « прикріплювати » до будь-яких нових розробок , щоб забезпечити їм привабливість. Бьерн Страуструп в 1988 році писав , що обгрунтування « об'єктної орієнтованості » чогось , в більшості випадків , зводиться до помилкового силогізму : « X - це добре. Об'єктна орієнтованість - це добре. Отже , X є об'єктно - орієнтованим ». Роджер Кінг аргументовано наполягав , що його кіт є об'єктно - орієнтованим. Крім інших своїх достоїнств , кіт демонструє характерну поведінку , реагує на повідомлення , наділений успадкованими реакціями і управляє своїм , цілком незалежним , внутрішнім станом. На думку Алана Кея , творця мови Smalltalk , якого вважають одним з «батьків -засновників» ООП , об'єктно- орієнтований підхід полягає в наступному наборі основних принципів ( цитується за вищезгаданій книзі Т. Бадда ) . 1 . Все є об'єктом. 2 . Обчислення здійснюються шляхом взаємодії ( обміну даними) між об'єктами , при якому один об'єкт вимагає , щоб інший об'єкт виконав деяку дію . Об'єкти взаємодіють , посилаючи і отримуючи повідомлення. Повідомлення - це запит на виконання дії , доповнений набором аргументів , які можуть знадобитися при виконанні дії . 3 . Кожен об'єкт має незалежну пам'ять , яка складається з інших об'єктів. 4 . Кожен об'єкт є представником класу , який висловлює загальні властивості об'єктів (таких , як цілі числа або списки). 5 . У класі задається поведінка ( функціональність ) об'єкта . Тим самим всі об'єкти, які є екземплярами одного класу , можуть виконувати одні й ті ж дії. 6 . Класи організовані в єдину деревовидну структуру із загальним коренем , звану ієрархією успадкування. Пам'ять і поведінка, пов'язана з екземплярами певного класу , автоматично доступні будь-якому класу , розташованому нижче в ієрархічному дереві. Таким чином , програма являє собою набір об'єктів, що мають стан і поведінку. Об'єкти взаємодіють за допомогою повідомлень. Природним чином вибудовується ієрархія об'єктів : програма в цілому - це об'єкт , для виконання своїх функцій вона звертається до вхідних в неї об'єктів , які , в свою чергу , виконують запитане шляхом звернення до інших об'єктів програми . Природно , щоб уникнути нескінченної рекурсії у зверненнях , на якомусь етапі об'єкт трансформує звернене до нього повідомлення в повідомлення до стандартних системних об'єктів , що надаються мовою і середовищем програмування. Стійкість і керованість системи забезпечується за рахунок чіткого поділу відповідальності об'єктів ( за кожну дію відповідає певний об'єкт ) , однозначного визначення інтерфейсів межоб'ектного взаємодії та повної ізольованості внутрішньої структури об'єкта від зовнішнього середовища ( інкапсуляції ) . Читайте також:
|
||||||||
|