СИТЕ СЕАРЦХ

Шта је то? Енцапсулација у програмирању

Енцапсулација је једна од три главнаособине објектно-оријентисаног програмирања (ООП). Друга два су полиморфизам и наслеђивање. Заједно они чине базу ПЛО, која одређује читав низ могућности за писање програма на различитим језицима, користећи ова три принципа. Објектно оријентирани језици, заузврат, морају их јасно пратити.

енкапсулација је

ООП Основе

Објектно оријентисано програмирање стоји на три стуба свог универзума:

  • Полиморфизам, који одговара на питање како одређени програмски језик третира објекте који имају однос једни с другима, на сличан начин.
  • Наслеђивање, које даје одговор, како се стимулација употребе кода одвија више пута.
  • Енкапсулација, која је одговор на питање како се прикривање своди, а самим тим и очување интегритета података.

Терминологија

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

концепти енкапсулације

Суштина концепта "енкапсулације"

Дефиниција дефинира да под инкапсулацијомто подразумева скривање свих или делова програмског кода. Суштина концепта "енкапсулације" је манипулација модификатора приступа. То значи да сами програмер одлучи која својства, методе и класе ће бити отворене за клијентску класу, а које су скривене.

Модификатори приступа

програмирање енкапсулације
Постоје такви модификатори приступа који, између осталог, могу манипулирати енкапсулацијом (Јава програмирање):

  • јавни (јавни - јавни, отворени, приступ) - заједнички приступ како за тренутне објекте, тако и за спољашњи свет;
  • приватни ("приватни" - приватни, приватни, скривени приступ) - приватни приступ, чија је суштина потпуно супротна претходном. Пружа приступ само из тренутне класе;
  • заштићени (заштићени, полукрити, приступ) - приступ тренутној класи и његовим дериватима;
  • Подразумевано, неодређени модификатор приступа подразумева да је поље / метода видљиво за цео садашњи пакет класе.

У Ц # ("Ц Схарп"), поред наведеног (осим последњег), још увек постоје такви модификатори:

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

Улога енкапсулације

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

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

Објекат и енкапсулација

Интеграција имплементације софтверског модула иПодаци уграђени у програмски код се називају објектом. Суштина његове повезаности са инкапсулацијом лежи у чињеници да је ова техника која омогућава одржавање и осигурање интегритета механизма у питању.

Предност енкапсулације

Енцапсулација је начин поједностављивања процеса кодирања. Бројне линије кода остају "иза сцене", ау главној класној радионици иде објекти.

Идеја заштите података

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

Јединице енкапсулације

Класа, као основна јединица енкапсулације,описује податке и садржи код који је способан да ради са овим подацима. То је основа за изградњу објекта. Ово је, заузврат, представљено као пример класе.

програмирање енцапсулације јава
Следећа терминологија се такође користи:

  • чланови су код и подаци укључени у класу;
  • поља или варијабле инстанце - такозвани подаци који дефинишу класу;
  • чланове функције - садрже сам код. Функције чланова су генерично име. Посебан случај су методе.

Енцапсулација на конкретном примеру

програмирање енкапсулације је

Пример енкапсулације (програмирања):

* Напомена:

опис је опис методе / својства / варијабле, односно коментирања онога што се стварно дешава у програму. Демонстрирано са ознакама за отварање / затварање

користећи систем;

намеспаце ООПЛибрари.Ауто

{

///

/// Ова класа намијењена је за описивање својстава и радњи аутомобила

///

јавна класа Ауто

{

///

/// променљиве креиране како би се писати у њој, колико год ауто, јер је спољна мешање у имовину програмер сматра сувишним

/// је обележен са модификатором приватним, тј. приватним, приватним приступом (погледајте горњи опис).

///

приватни инт _аге;

///

/// Боолеан вариабле (само две могуће вредности - да или не) које описују да ли се аутомобил тренутно креће

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

///

приватни боол _исМовинг;

///

/// Ова стринг варијабла мора садржавати информације о бојама аутомобила. Може бити подложно промјенама од спољашњих утјецаја

јер је за боју одабран модификатор јавног приступа "јавни".

///

јавни низ Боја;

///

У овом конкретном случају претпостављамо да се име аутомобила може променити

/// додељује јавни модификатор (јавни приступ за све, без обзира на класу или скупу).

///

јавни низ Име;

///

/// Конструктор класе је отворен, а сва својства изражена променљивима и претходно наведена, добијају своје вриједности

///

јавни Ауто ()

{

_аге = 5;

_исМовинг = фалсе;

Боја = "Љубичаста";

Наме = "Скода Оцтавиа";

}

///

/// Метод имплементира повратну вредност старости аута. Зашто је то неопходно?

Модификатор приватног приступа не омогућава клијенту да је промени.

///

/ / Враћа старост аутомобила.

јавни низ ГетАге ()

{

повратак "Тренутно изабрана машина је" + _аге + "година старости.";

}

///

Ако се аутомобил не помера, овај методсхвата почетак покрета. Провера се врши на променљивој индикацији стања аутомобила (без обзира да ли путује или не) и, у зависности од резултата, врши се одговарајућа радња / приказује се одговарајућа порука.

///

публиц воид Старт ()

{

ако (_исМовинг)

{

Цонсоле.ВритеЛине ("Покрет је већ започео");

}

друго

{

_исМовинг = труе;

Цонсоле.ВритеЛине ("За почетак, пажња .. Напред, идемо!");

}

}

///

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

///

јавни воид Стоп ()

{

ако (_исМовинг)

{

_исМовинг = фалсе;

Цонсоле.ВритеЛине ("Стоп, машина");

}

друго

{

Цонсоле.ВритеЛине ("Грешка: ауто је већ на месту, не помиче");

}

}

///

/// Скрените лево ако је кретање возила

///

јавни воид МовеЛефт ()

{

ако (_исМовинг)

{

Цонсоле.ВритеЛине ("Турнед лефт");

}

друго

{

Цонсоле.ВритеЛине ("Грешка: Аутомобил је стациониран, функција ротације тренутно недоступна");

}

}

///

Сличан метод са ротацијом удесно

///

публиц воид МовеРигхт ()

{

ако (_исМовинг)

{

Цонсоле.ВритеЛине ("Скрени десно је успјешно");

}

друго

{

Цонсоле.ВритеЛине ("Грешка: Аутомобил се још није померио." Окретање десно тренутно је немогуће радње. ");

}

}

}

}

</ п>
  • Оцена: