Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Основні принципи об’єктно-орієнтованого програмуванняСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте Об'єктно-орієнтоване програмування (ООП) є результатом еволюції модульного програмування і програмування, керованого подіями. Воно з’явилося в 90-х роках 20-го століття як реакція на зростання складності програмного забезпечення (ПЗ) і визначило розвиток технології і мов програмування на наступні роки. Ця парадигма разом з компонентною зараз є найбільш популярною серед розробників програмних систем. У 80-і роки минулого століття стало зрозуміло, що надії на те, що структурне програмування (і проектування) зможе суттєво покращити якість програм і продуктивність праці програмістів не виправдалися. Якщо на початку ери комп'ютеризації вартість апаратних засобів (hardware) значно перевищувала вартість програмних засобів (ПЗ) (software), то згодом ситуація змінилася. Витрати на розробку і супровід ПЗ зростали, а вартість розробки апаратних засобів - знижувалася. Об'єктно-орієнтований підхід базується на «старому» фундаменті процедурної парадигми і успадковує такі її кращі риси, як модульність і абстракція типів даних. Основна новизна цієї парадигми в тому, що в ній поєднані структури даних і функції обробки цих даних. Отже, повторимо основні концепції ООП. Визначення. Об'єктно-орієнтоване програмування (ООП) – парадигма, заснована на представленні предметної області у вигляді системи взаємозв'язаних абстрактних об'єктів і їх реалізацій. Зараз в парадигмі об'єктно-орієнтованого програмування домінують два стилі – програмування, базоване на класах (class-based programming) і програмування, базоване на прототипах (prototype-based programming) – відносно новий напрям ООП. Програмування, базоване на класах. На відміну від процедурного програмування, в якому дані і функції їх обробки не зв'язані, в ООП визначена нова структура даних - клас - абстрактний тип, в якому окрім даних містяться функції їх обробки (методи). Розглянемо основні поняття ООП: об'єкт, клас, властивість і метод. Кожний об'єкт в ООП має свій тип (клас). Клас представляє собою абстрактний тип даних, який має: Поля – атрибути об'єкту. Властивості - параметри об'єкту (значення його атрибутів). Методи - дії, які можна виконувати над об'єктом цього типу, або які сам об'єкт може виконувати (процедури та функції). Події - повідомлення, які посилає об'єкт (або посилаються об'єкту) при зміні стану. Кожний об'єкт є екземпляром деякого класу об'єктів. Один клас відрізняється від інших іменем і, звичайно, набором інтерфейсів. Інтерфейси, у свою чергу, - це набір повідомлень, які можна посилати об'єкту. Реалізуються інтерфейси у вигляді відкритих (public) методів класу. В основі об'єктно-орієнтованого програмування лежать 4 основні принципи: Абстракція - опис взаємодії виключно в термінах повідомлень/подій в предметній області. Об'єкти надають не повну інформацію про реальні властивості предметної області. Їх моделі адекватні вирішуваній задачі, працювати з ними зручніше, ніж з низькорівневим описом усіх можливих властивостей і реакцій об'єкту. Інкапсуляція - здатність приховування реалізації (властивостей і методів усередині класу), тобто можливість доступу до об'єкту і маніпулювання ним виключно за допомогою властивостей (get, set) і методів класу. До основних властивостей інкапсуляції відносяться наступні: 1. сумісне зберігання даних і функцій (тобто властивостей і методів) усередині класу; 2. приховування внутрішньої інформації від користувача (що забезпечує більшу безпеку програмі) – за допомогою специфікаторів доступу private, internal; 3. ізоляція користувача від деталей реалізації (що забезпечує незалежність від моделі обчислень і потенційно дружній інтерфейс програми). Наслідування - можливість породжувати один клас від іншого із збереженням всіх властивостей і методів базового класу і додавання, за потреби, нових властивостей і методів. Наслідування призначене для відображення такої властивості систем, як ієрархічність. У мовах програмування поняття наслідування означає застосовність всіх або деяких властивостей та/або методів базового класу для всіх класів, похідних від нього. Крім того, збереження властивостей і/або методів базового класу повинне забезпечуватися і для всіх конкретизацій (тобто конкретних об'єктів) будь-якого похідного класу. Поліморфізм – це концепція, що дозволяє мати різні реалізації для одного і того ж методу, які будуть вибиратися залежно від типу об'єкту, переданого до методу при його виклику. В об'єктно-орієнтованому програмуванні під поліморфізмом розуміється можливість оперувати об'єктами, не володіючи точним знанням їх типів. Питання: Які приклади поліморфізму можна навести? Відповідь: в С++, C# перевантаження функцій – одне і те саме ім'я функції може використовуватися для передачі повідомлень об'єктам різних класів. Такі функції повинні мати різні списки параметрів. Отже - Класи, наслідування і поліморфізм - фундаментальні властивості, яким повинні задовольняти мови програмування, щоб підтримувати об'єктно-орієнтовану парадигму програмування. Для реалізації цих властивостей різні мови програмування використовують різні підходи.
|
||
|
Последнее изменение этой страницы: 2017-02-21; просмотров: 1500; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.006 с.) |