Kompjuters, Ipprogrammar
Inkapsulament - dak li huwa dan? Inkapsulament fl-ipprogrammar
Inkapsulament - dan huwa wieħed mit-tliet karatteristiċi ewlenin ta ' programmar oġġett orjentati lejn (OOP). Il-oħra żewġ - polimorfiżmu u wirt. Flimkien dawn jiffurmaw il-qafas PLO li jipprovdi għal għadd ta 'karatteristiċi ta' programmi bil-miktub fil-lingwi differenti, li jużaw dawn it-tliet prinċipji. lingwi orjentati oġġett, imbagħad, huma obbligati li strettament isegwuhom.
Basics OOP
programmazzjoni fuq tliet pilastri tal-ħolqien tagħha oġġett orjentati lejn:
- Polimorfiżmu, jwieġbu l-mistoqsija ta 'kif lingwa ta' programmar partikolari jittratta ma 'oġġetti li għandhom relazzjoni ma' xulxin, b'mod simili.
- Wirt, li tagħti risposta, kif huwa l-istimulazzjoni ta 'l-użu tal-kodiċi jistgħu jerġgħu jintużaw.
- Inkapsulament, li hija t-tweġiba għad-domanda dwar jaħbu l-implimentazzjoni sseħħ, u b'hekk l-integrità tad-data.
terminoloġija
Inkapsulament (programmazzjoni) - huwa l-użu modifikaturi aċċess sabiex taħbi biċċiet tal-kodiċi mill-utent aħħari. Taħt dan, imbagħad, ifisser is-siti iżviluppatur jew wirt.
L-essenza tal-kunċett ta ' "inkapsulament"
Id-definizzjoni jispeċifika li b'inkapsulazzjoni fisser jistaħbew kollha jew parti mill-kodiċi tal-programm. L-essenza tal-kunċett ta ' "inkapsulament" huwa li jimmanipulaw modifikaturi aċċess. Dan ifisser li l-iżviluppatur jista 'jiddeċiedi li proprjetajiet, metodi, u l-klassijiet se jkun miftuħ għall-klassi klijent, u dak - huma moħbija.
modifikaturi aċċess
- pubbliku ( "Pubbliku" - pubbliku, l-aċċess miftuħ) - sehem kemm il-klassijiet attwali u oġġetti, u fid-dinja esterna;
- privat ( "prayvat" -, privati, l-aċċess privat moħbija) - magħluqa aċċess, l-essenza tiegħu huwa kompletament l-oppost ta 'qabel. Hija tipprovdi aċċess biss mill-klassi attwali;
- protetti ( "protekted" - protett, nofs moħbija aċċess) - Aċċess għall-klassi kurrenti u d-derivattivi tiegħu;
- default - modifikatur aċċess mhux speċifikata ifisser li l-qasam / metodu tidher kollha għall-klassijiet attwali fil-pakkett.
Fis-C # lingwa ( "Si Sharp"), minbarra l-hawn fuq (minbarra l-aħħar), għad hemm modifikaturi:
- intern ( "interna" - aċċess intern) - aċċessibbiltà fl-assemblea attwali, l-aċċess ġewwa għal każijiet loħra kollha;
- intern protetta ( "protekted interna" - Aċċess intern Protetti) - għaqda ta 'żewġ modifikaturi fil dak li fih proprjetajiet manifesti ta' tnejn minnhom.
Ir-rwol tal inkapsulament
mekkaniżmu inkapsulament jelimina influwenza esterna dwar il-kodiċi u l-użu ħażin ta 'data integrati fiha. Din hija mwettqa billi tikkombina l-kodiċi u d-data f'waħda.
Għan u inkapsulament
Tikkombina l-implimentazzjoni ta 'modulu softwer u data integrati fil-kodiċi, l-ipprogrammar jissejjaħ oġġett. L-essenza ta 'konnessjoni tagħha mal-inkapsulament hija li tali metodu jippermetti li tinżamm u tiġi żgurata l-integrità tal-operazzjoni tal-mekkaniżmu.
Il-vantaġġ ta 'inkapsulament
Inkapsulament - mod biex jissimplifikaw il-proċess ta 'kodifikazzjoni. linji diversi ta 'kodiċi huma "wara l-kwinti", u fil-ħidma ewlenija klassi se joġġezzjonaw istanzi.
L-idea tal-protezzjoni tad-data
Inkapsulament - huwa wkoll mekkaniżmu li jirrealizza l-idea ta 'protezzjoni tad-data. loġika tal-programm ta 'programmar oġġett orjentati lejn hija mibnija fuq il-bażi ta' dak li ħafna tad-data se jkun modifikatur aċċess moħbija privat (privat, privati) jew protetti (protetti). Id-dinja ta 'barra, il-klijent aċċidentalment jew deliberatament ma jagħmlux ħsara lill-implimentazzjoni ta' modulu ta 'softwer. Minħabba fil-fatt jagħmilha faċli ħafna li lanqas biss fuq l-iskop, inkapsulament - dan huwa prinċipju tajjeb ħafna.
unità inkapsulament
Klassi, bħala unità bażika ta 'inkapsulament u jiddeskrivi l-informazzjoni tinkludi kodiċi, li huwa kapaċi li joperaw fuq din id-data. Huwa wkoll il-bażi għall-kostruzzjoni tal-oġġett. L-aħħar, imbagħad, huwa ppreżentat bħala eżempju.
- membri - dan huwa l-kodiċi u d-dejta inklużi fil-klassi;
- oqsma jew varjabbli istanza --data hekk imsejħa li tiddefinixxi l-klassi;
- funzjonijiet membri - huma fihom l-kodiċi nnifsu. Membri funzjonijiet - l-isem komuni. Każ speċjali - metodi.
eżempju speċifiku inkapsulament
Inkapsulament (programmazzjoni) eżempju:
* Nota:
Deskrizzjoni - deskrizzjoni tal-metodu / proprjetà / varjabbli, jiġifieri ma jikkummentaw fuq dak li jiġri attwalment fil-programm. Jintwera permezz ta 'ftuħ / tikketti għeluq
jużaw sistema;
OOPLibrary.Auto namespace
{
///
/// Din il-klassi hija maħsuba biex jiddeskrivu l-azzjoni tal-karozza
///
Auto klassi pubblika
{
///
/// varjabbli maħluqa sabiex jiktbu fiha, kemm-il sena il-karozza, peress li l-interferenza esterna fil-iżviluppatur proprjetà tqis superfluwa
/// modifikatur huwa mmarkat privata, jiġifieri magħluqa, l-aċċess privat (ara. Id-deskrizzjoni ta 'hawn fuq).
///
_age int privat;
///
/// A Boolean (valuri biss żewġ possibbli - iva jew l-ebda), li jiddeskrivi jekk il-vettura tkun miexja fil-mument
/// Għandu wkoll ikun miftuħ għall-utent aħħari, min kien. Għalhekk dan il-varjabbli huwa assenjat aċċess modifikatur privat "prayvat"
///
_isMoving BOOL privat;
///
/// Din il-varjabbli sekwenza għandu jkun fih informazzjoni dwar il-kulur tal-karozza. Din tista 'tinbidel minn influwenzi esterni
/// minħabba għall-modifikatur kulur magħżula aċċess miftuħ "pubbliku".
///
Kulur sekwenza pubblika;
///
/// F'dan il-każ partikolari, aħna nassumu li l-isem tal-karozza, wisq, jistgħu jiġu mibdula
/// assenjat modifikatur tal-pubbliku (aċċess miftuħ għal kulħadd, irrispettivament mill-klassi jew assemblaġġ).
///
Isem sekwenza pubblika;
///
/// Tiftaħ-kostruttur klassi, u l-proprjetajiet kollha tal-varjabbli espressa u jistabbilixxu ftit qabel, jiksbu valuri tagħhom
///
Auto pubbliku ()
{
_age = 5;
_isMoving = foloz;
Kulur = "Purple";
Isem = "Skoda Octavia";
}
///
/// Il-metodu jirrealizza valur ritorn ta 'l-età auto. Għaliex dan huwa meħtieġ?
/// aċċess privat modifikatur ma jagħmilhiex possibbli għall-bidliet klijent.
///
/// Denunzji l-età tal-karozza.
sekwenza pubbliku GetAge ()
{
ritorn "Fil-mument, il-magna magħżul" + _age + "snin.";
}
///
/// Jekk il-karozza ma tkunx miexja, dan il-metodu timplimenta l-bidu tal-moviment. Kontrolli oboznalsya varjabbli, il-kundizzjoni tal-vettura (tivvjaġġa jew le), u, skond ir-riżultati, l-azzjoni / messaġġ xieraq ikun imwaħħal.
///
null pubbliku Bidu ()
{
jekk (_isMoving)
{
Console.WriteLine ( "Il-moviment diġà beda");
}
inkella
{
_isMoving = vera;
Console.WriteLine ( "Ready, Set .. Mur off!");
}
}
///
/// Jekk nbdiet il-mozzjoni, dan il-metodu waqfiet lilu. L-istess programm loġika bħal fil-każ preċedenti kkunsidrati.
///
Stop null pubbliku ()
{
jekk (_isMoving)
{
_isMoving = foloz;
Console.WriteLine ( "Stop Machine");
}
inkella
{
Console.WriteLine ( ". Karozza Żball u għalhekk tibqa 'wieqfa, ma jiċċaqalqux");
}
}
///
/// Implimentata dawra tax-xellug, jekk ikun hemm vettura
///
MoveLeft null pubbliku ()
{
jekk (_isMoving)
{
Console.WriteLine ( "dawran xellug qed isir");
}
inkella
{
Console.WriteLine ( ". Vettura Żball hija fattur rotazzjoni wieqfa bħalissa mhux disponibbli.");
}
}
///
/// Metodu simili mad-dawran dritt
///
MoveRight null pubbliku ()
{
jekk (_isMoving)
{
Console.WriteLine ( "dritt Dawwar kien implimentat b'suċċess");
}
inkella
{
Console.WriteLine ( ". Żball Il-karozza ma jiġux mċaqalqa mill-post Tidwir dritt huwa fil-mument l-azzjoni, huwa impossibbli li jitwettaq ..");
}
}
}
}
Similar articles
Trending Now