Ключова разлика: абстракцията и капсулирането са концепции за програмиране на компютърни науки. Абстракцията е процес, при който допълнителните характеристики на данните се премахват или отделят от данните; като има предвид, че капсулирането е механизъм, при който данните са скрити и групирани в методи.
Абстракцията е обобщен процес, при който допълнителните данни се отнемат и премахват, за да се направят данните конкретни. В компютрите, това е метод на програмиране, който помага при преобразуването на данните в сбита форма. Данните и програмата не се променят в този метод, а се съхраняват в една и съща начална форма; единствената разлика е, че те са сведени до по-малка представяема форма. Абстракцията се опитва да намали и факторира детайлите, така че програмистът да може да се фокусира върху няколко понятия едновременно.
Системата може да има много такива слоеве абстракции, които имат различни значения и детайли. Например, слоевете за абстракция на ниско ниво излагат детайлите на компютърния хардуер, където работи програмата, докато слоевете на високо ниво се занимават с бизнес логиката на програмата. След това тези данни се излагат на програмиста по време на изпълнението. Абстракцията е концепция или идея, която не е свързана с конкретен случай. Той улавя само тези детайли от данните, които се отнасят до неговите обекти и текущи перспективи. Той играе важна роля в семейството на обектите (в концепциите за обектно-ориентирано програмиране). и се използва по различни начини и изпълнения.
Понятието абстракция може да бъде приложено в:
- Контролна абстракция: Това е абстракция на действия.
- Абстракция на данни: Тя позволява и обработва битовете с данни и структурите от данни по смислен начин.
Инкапсулирането в компютърното програмиране подчертава функциите му в две различни нотации, като:
- Езиков механизъм, който ограничава достъпа до компонентите на някой обект.
- Езикова конструкция, която улеснява обединяването на данни с методите (и други функции), работещи на тези данни.
Инкапсулирането е скриващите се механизми, които играят жизненоважна роля в защитата и осигуряването на данните от външни лица. Той всъщност осигурява основната цялост на данните, като предотвратява злоупотребата с реални данни. При капсулиране данните се съхраняват и получават достъп в оригиналния си валиден и съгласуван формат.
По принцип капсулирането означава запазване на обект от потребителя и представянето му в обща форма. По принцип, при капсулирането допълнителните детайли са скрити от външната среда. Полетата на обектите се инспектират и манипулират директно в този механизъм. Скриването на информация заедно с обзавеждането се съставя във версия, която се използва като изходен код и се свързва чрез заглавен файл. Понякога публичните класове се опитват да получат достъп до данните, като в тези случаи капсулирането не позволява на публичните нашественици да играят с данните. Едно от основните предимства на капсулирането е, че то помага за намаляване на сложността на програмата и помага на потребителите да разберат точните концепции на програмата, тъй като механизмите представляват само кратка форма на програмата. Това увеличава устойчивостта, като позволява на разработчика или програмиста да ограничи взаимните зависимости между софтуерните компоненти. Инкапсулирането е приложимо и в някои езици като Smalltalk и Ruby, в които достъпът е разрешен само чрез обектни методи; докато повечето други, като C ++, C # или Java предлага степен на контрол на програмиста. Тези езици позволяват на разработчиците да имат достъп до това, което е скрито с помощта на ключови думи като публични и частни.
Абстракцията и капсулирането също са основни основи в ООП (обектно-ориентирано програмиране).
Сравнение между абстракция и капсулиране:
абстракция | Капсулирането | |
Кратко описание | Абстракцията е процес, който извлича съществените детайли за даден елемент или група елементи и игнорира несъществените детайли. | Инкапсулирането е процес, който обгръща или затваря данните в капсула или прави данните кратки. |
Те са | Абстракцията се отнася до идеята за скриване на данни, които не са необходими за представяне. | Инкапсулирането представлява групиране на данни и функционалност. |
Основни функции | По принцип абстракцията се използва за скриване на нежеланите данни и дава съответните данни. | По принцип, капсулирането означава скриване на кода и данните в една единица, за да се защитят данните от външния свят. |
Кога те работят | Той управлява проблема в нивото на проектиране. | Той управлява проблема на ниво изпълнение. |
Полезно за ролите | Той помага на потребителя да се съсредоточи върху това, което обектът прави, вместо да прави каква функция. | Той помага на програмиста да скрие вътрешните детайли или механиката на това как даден обект прави нещо. |
Информацията е | Тук информацията е отделена от реалните данни. | Тук информацията е опакована в скрит формат. |
Формати | Тя се отнася до външното оформление, което се използва по отношение на дизайна. | Тя се отнася до вътрешното оформление, което се използва по отношение на изпълнението. |
Например | Външният вид на мобилен телефон, който има екран на дисплея и бутони на клавиатурата за набиране на номер. | Вътрешен детайл за изпълнение на мобилен телефон, как бутонът на клавиатурата и екранът на дисплея са свързани помежду си с помощта на схеми. |