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

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

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

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

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

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

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

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

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

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

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

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

Одвајање

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

Кратак опис

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

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

Су

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Лаиоутс

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

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

На пример

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

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

Рецоммендед

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

  • разлика између: Разлика између Интел и5 и и7

    Разлика између Интел и5 и и7

    Кључна разлика: Интелови најновији микропроцесори су Интел Цоре и5 и Интел Цоре и7. И и5 и и7 имају различите микропроцесоре под брендом, а сваки процесор варира један од другог колико и од процесора под другим брендом. Процесори под брендом и5 треба да буду понуда средњег нивоа. Они имају тенденцију да имају 2 до 4 језгре. С друге стране, и7 је више понуда која се односи на професионалце и
  • разлика између: Разлика између преводиоца и преводиоца у програмирању

    Разлика између преводиоца и преводиоца у програмирању

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

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

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

    Разлика између црвене и зелене леће

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

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

    Кључна разлика: Закони су заправо правила и смјернице које успостављају друштвене институције како би управљале понашањем. Ове законе доноси владин службеник. Сви закони морају да се поштују. Закони постављају стандарде, процедуре и принципе које треба поштовати. Једнакост је грана права која је развијена као допуна строгим законским законима који м
  • разлика између: Разлика између Андроид Лоллипоп и Аппле иОС 8

    Разлика између Андроид Лоллипоп и Аппле иОС 8

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

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

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

    Разлика између резервата за дивље животиње и Националног парка

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

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

    Кључна разлика: У суштини, игра је било која структурирана игра која се изводи за уживање. Неке игре могу бити образовне. То је рекреативна активност. Може укључивати једног или више играча. Игра обично има циљеве, правила, изазов и интеракцију. Спорт, с друге стране, је физичка активност. Она има договорени скуп правила. Може се играти за ре

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

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

Кључна разлика: Гранични поремећај личности је ментално стање у којем људи доживљавају непромишљено и импулзивно понашање, нестабилна расположења и односе. Социопат је медицинско стање које резултира начином на који особа размишља, односи се, суочава се са ситуацијама и доживљава ситуације да постану деструктивне. Људи који пате од овог реда имају потешкоћа у разликовању између исправног и погрешног. Граница и социопат су двије различите врсте менталних стања од којих људи могу патити. Социопат је заправо врло чест ментални поремећај и према статистичким подацима особа може