Разлика између апстракције и енкапсулације

Кључна разлика: апстракција и енкапсулација су концепти програмирања компјутерских наука. Апстракција је процес, у којем су додатне карактеристике података уклоњене или одвојене од података; док је енкапсулација механизам у којем су подаци скривени и групирани у методе.

Апстракција је генерализовани процес у којем се одузимају и уклањају додатни подаци како би се подаци учинили конкретним. У компјутерима, то је метода програмирања која помаже у претварању података у концизан облик. Подаци и програм се не мењају у овој методи, већ се чувају у истом почетном облику; једина разлика је у томе што су редуковани на мању видљиву форму. Апстракција покушава да смањи и факторише детаље, тако да програмер може да се фокусира на неколико појмова у исто време.

Систем може имати много таквих слојева апстракција, који имају различита значења и детаље. На пример, слојеви апстракције ниског нивоа излажу детаље рачунарског хардвера где се програм изводи, док се слојеви на високом нивоу баве пословном логиком програма. Ови детаљи су затим изложени програмеру у време извршења. Апстракција је концепт или идеја, која није повезана ни са једном конкретном инстанцом. Она обухвата само оне детаље података који се односе на његове објекте и тренутне перспективе. Она игра главну улогу у породици објеката (у концептима објектно-оријентисаног програмирања). и користи се на различите начине и имплементације.

Концепт апстракције се може имплементирати у:

  • Контрола апстракције: То је апстракција акција.
  • Апстракција података: Омогућава и обрађује битове података и структуре података на смислене начине.

Инкапсулација у компјутерском програмирању наглашава његове функције у двије различите ознаке, а то су:

  • Језички механизам који ограничава приступ компонентама неког објекта.
  • Конструкција језика која олакшава повезивање података са методама (и другим функцијама) које раде на тим подацима.

Инкапсулација је механизам скривања, који игра кључну улогу у заштити и осигуравању података од стране аутсајдера. Он заправо обезбеђује основни интегритет података спречавањем злоупотребе стварних података. У енкапсулацији, подаци се чувају и приступа им се у оригиналном валидном и конзистентном формату.

Уопштено, енкапсулација значи очување објекта од корисника и његово представљање у општем облику. У суштини, у енкапсулацији, додатни детаљи су скривени од спољашњег окружења. Поља објеката се директно контролишу и манипулишу овим механизмом. Информације које се скривају заједно са опремом се састављају у верзији, која се даље користи као изворни код и повезује се преко датотеке заглавља. Понекад јавне класе покушавају да приступе подацима, у овим случајевима енкапсулација не дозвољава јавним нападачима да се играју са подацима. Једна од главних предности енкапсулације је та да помаже у смањењу сложености програма и помаже корисницима да схвате тачне концепте програма, јер механизми представљају само кратак облик програма. Ово повећава робусност, дозвољавајући програмеру или програмеру да ограничи међусобне зависности између софтверских компоненти. Енкапсулација је такође примјењива на неким језицима, као што су Смаллталк и Руби, у којима је приступ дозвољен само преко објектних метода; док већина других, Ц ++, Ц # или Јава нуди степен контроле програмеру. Ови језици омогућавају програмерима да приступају преко онога што је скривено уз помоћ кључних речи као што су јавне и приватне.

Апстракција и енкапсулација су такође основни принципи у ООП-у (Објецт-Ориентед-Программинг).

Поређење између апстракције и енкапсулације:

Одвајање

Енцапсулатион

Кратак опис

Апстракција је процес који издваја битне детаље о ставци или групи ставки и занемарује небитне детаље.

Инкапсулација је процес који омотава или затвара податке у капсули или их чини језгровитим.

Су

Апстракција се односи на идеју скривања података који нису потребни за презентацију.

Инкапсулација је групирање података и функционалности.

Основне функције

У основи, апстракција се користи за сакривање нежељених података и даје релевантне податке.

У суштини, енкапсулација значи скривање кода и података у једну јединицу како би се заштитили подаци од вањског свијета.

Када су оперисани

Он управља проблемом на нивоу дизајна.

Он управља проблемом на нивоу имплементације.

Корист за улоге

Помаже кориснику да се фокусира на оно што објекат ради уместо на то како ради било коју функцију.

Помаже програмеру да сакрије унутрашње детаље или механику како објекат нешто ради.

Информатион ис

Овде су информације одвојене од реалних података.

Овде су информације замотане у скривеном формату.

Лаиоутс

Ради се о спољном изгледу, који се користи у смислу дизајна.

Ради се о унутрашњем распореду, који се користи у смислу имплементације.

На пример

Спољашњи изглед мобилног телефона, који има екран и тастере на тастатури за бирање броја.

Унутрашњи детаљи имплементације мобилног телефона, како су тастери на тастатури и екрански дисплеји међусобно повезани помоћу кола.

Рецоммендед

Везани Чланци

  • разлика између: Разлика између Дуал Цоре и Куад Цоре

    Разлика између Дуал Цоре и Куад Цоре

    Кључна разлика: Дуал-цоре процесор је тип централне процесорске јединице (ЦПУ) која има два комплетна извршна језгра. Куад-цоре процесори имају четири независне централне процесне јединице које могу читати и извршавати инструкције. Стална еволуција рачунара захтева да она буде бржа, јача и боља. Овај захтев доводи до тога да компаније покушавају да открију начине како да компјутери учине бржим и моћнијим процесорима. Ово
  • разлика између: Разлика између мачака и мачке

    Разлика између мачака и мачке

    Кључна разлика: Мачке су мале, крзнене, удомаћене и месождери сисари, док су мачићи млађе мачке. Мачке и мачићи се веома разликују у понашању. Док су мачке стрпљивије и захтијевају мање пажње, мачићи захтијевају сталну пажњу, требају бити обучени и морају се играти с њима. Мачићи требају висококалоричну дијету и захтијевају храну богату протеинима, као и мајчино млијеко. Мачке захтевају ниско-калоричну, високопротеинску исхрану, заједно са минералима и сталним снабдевањем водом. Мачке су
  • разлика између: Разлика између апстрактне класе и класе бетона

    Разлика између апстрактне класе и класе бетона

    Кључна разлика: Постоје два основна типа класа: апстрактна класа и класа бетона. Главна разлика између њих произилази из нивоа имплементације њихових методолошких функционалности. Конкретне класе су редовне класе, где су све методе у потпуности имплементиране. Апстрактна класа је управо оно што сугерише њено име. Тамо где функциј
  • разлика између: Разлика између океана и мора

    Разлика између океана и мора

    Кључна разлика: Океани су велика водена тијела која постоје на Земљи. Море је велико тијело слане воде које може или не мора бити повезано с океаном. Океани и мора су оба водена тијела и ови термини се често користе наизмјенично због недостатка одговарајуће дефиниције. Водена тијела чине хидросферу која покрива 71% Земље. Океани и мора имају мале разлике међу њима. Океани су велика водена тијела која постоје на Земљи. Океан је тело слане воде које чини велики део хидросфере планете. Иа
  • разлика између: Разлика између освете и освете

    Разлика између освете и освете

    Кључна разлика: У контексту, освета је више лична, док употреба израза освета значи правду и част. Освета значи праведност, док је освета прљава, покварена или јефтина у зависности од ситуације која се користи. Услови освете и освете блиско су испреплетени, због чега не чуди што су често збуњени. У ствари, многи људи их користе наизменично, и иако нису у криву, треба напоменути
  • разлика између: Разлика између иПхоне-а и Андроид-а

    Разлика између иПхоне-а и Андроид-а

    Кључна разлика: иПхоне је водећи телефон развијен и произведен искључиво од стране Аппле-а. Уређај ради на Апплеовом иОС оперативном систему и тренутно је у својој 5. генерацији. Андроид је популарни оперативни систем отвореног кода од стране Гоогле-а и одржава га конзорцијум произвођача и програмера
  • разлика између: Разлика између Виндовс 8 и Виндовс РТ

    Разлика између Виндовс 8 и Виндовс РТ

    Кључна разлика: Виндовс 8 је покренут како би систем уједначен на таблетима, рачунарима и лаптоповима. Виндовс 8 нуди нови Старт Тиле Старт мени који је сличан онима који су доступни на Виндовс телефонима. Виндовс РТ је оперативни систем који је доступан за таблете и рачунаре. Овај систем је развијен за рад на АРМ архитектури. Ово је једини систем који ради на АРМ архи
  • разлика између: Разлика између оутсоурцинга и уговора

    Разлика између оутсоурцинга и уговора

    Кључна разлика: Уговор је обавезујући споразум који је законски извршив. Постоји између двије или више странака. Оутсоурцинг подразумева преношење неких задатака на спољну компанију и генерално користи уговор који је договорен од стране укључених компанија. Уговор је врста обавезе која се доноси у вези са поступком. Најважнији састојак уговора су услови и рокови које разумију уговорне стране. Измјене и допуне се могу донијети како би се дошло до прихватљивог уговора који
  • разлика између: Разлика између кекса и крекера

    Разлика између кекса и крекера

    Кључна разлика: Кекс је разноврсни брзи хлеб направљен од састојака као што су брашно, квасац, масти и млеко или вода. Крекери су врсте кекса који су неутралног или мање слатког окуса. Они су тањи и хрскави од осталих врста кекса. Ријеч кекс је изведен из латинских ријечи бит цоцтус што значи два пута печено. Кекси су углавном поз

Избор Уредника

Разлика између У реду и Све у реду

Кључна разлика: Појмови 'у реду' или 'добро' се обично виде и често се користе наизменично. Међутим, постоји један главни аспект који разликује 'добро' од 'у реду': 'добро' није права ријеч. То је неформална реч која се често користи упркос 'добро'. Термини „у реду“ или „добро“ се обично виде и често се користе наизменично. Т