KompjutersIpprogrammar

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

Hemm modifikaturi aċċess, li, fost affarijiet oħra, huwa kapaċi inkapsulament manipulyarivat (Java programmazzjoni):

  • 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.

jintuża wkoll it-terminoloġija li ġejja:

  • 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

 

 

 

 

Newest

Copyright © 2018 mt.birmiss.com. Theme powered by WordPress.