Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Абстрагування




Вступ

До кінця 1970-х розмір проектів став наближатися до критичного, при перевищенні якого методика структурного програмування і язик С "опускали руки". Тому стали з'являтися нові підходи до програмування, що дозволяють вирішити цю проблему. Один з них одержав назву об’єктно - орієнтованного програмування (ООП). Використовуючи ООП, програміст міг впоратися із програмами набагато більшого розміру, чим колись. Але все лихо полягало в тому, що С, сама популярна на той час мова, не підтримувала ООП. Бажання працювати з об’єктно-орієнтированою версією язика С і привело до створення C++.
Мова C++ була розроблена Бьярни Страуструпом у компанії Bell Laboratories, і роком створення вважається 1979-й. Спочатку творець нової мови назвав його "С с класами", але в 1983 році це ім'я було змінено на C++. C++ повністю включає елементи мови С. Таким чином, С можна вважати фундаментом, на якому побудований C++. Більшість доповнень, які Страуструп вніс у С, були призначені для підтримки ООП. По суті, C++ - це об’єктно-орієнтирована версія мови С.
Зводячи "будинок" C++ на фундаменті С, Страуструп забезпечив плавний перехід багатьох програмістів на "рейки" ООП. Замість необхідності вивчати зовсім нова мова, С-програмістові досить було освоїти лише нові засоби, що дозволяють використати переваги обєктно-орієнтированої методики.
Протягом 1980-х років C++ інтенсивно розвивався й до початку 1990-х уже була готова для широкого використання. Ріст його популярності носив вибухоподібний характер, і до кінця цього десятиліття він став самим широко використовуваною мовою програмування. У наші дні мова C++ як і раніше має незаперечна перевага при розробці високопродуктивних програм системного рівня.

 

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

Це важливий інструмент ООП поряд з поліморфізмом, успадкуванням та інкапсуляцією.

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

Фундаментальна ідея полягає в розділенні несуттєвих деталей реалізації підпрограми і характеристик, істотних для коректного її використання. Такий поділ може бути виражено через спеціальний «інтерфейс», зосереджують опис всіх можливих застосувань програми.

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

 

 

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

Користувач не може використовувати закриті дані і методи. Реалізується за допомогою ключових слів: private, protected, internal.

В ООП рекомендується з самого початку створювати закриті поля і лише в разі крайньої необхідності подавати ширший доступ до них.


 




Поделиться с друзьями:


Дата добавления: 2015-05-26; Просмотров: 1233; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.