ÒdinatèPwogram

Ankapsulasyon - ki sa ki sa a? Ankapsulasyon nan pwogram

Ankapsulasyon - sa a se youn nan twa karakteristik yo ki prensipal nan objè-oryante pwogram (op). lòt de - polimorfism a ak pòsyon tè. Ansanm yo fè moute fondasyon an PLO ki ponn desann yon seri de karakteristik nan pwogram ekri nan diferan lang, lè l sèvi avèk prensip sa yo twa. Objè-oryante lang, nan vire, yo te oblije estrikteman swiv yo.

op Prensip Fondamantal nan

Objè-oryante pwogram sou twa poto nan kreyasyon li yo:

  • Polimorfism, reponn kesyon an sou fason yon lang programmation patikilye kontra avèk objè ki gen yon relasyon youn ak lòt, nan yon fason menm jan an.
  • Pòsyon tè, bay yon repons, ki jan pou eksitasyon an yo itilize a nan ki kapab itilize ankò kòd.
  • Ankapsulasyon, ki se repons lan nan kesyon an nan kache aplikasyon an pran plas, epi konsa entegrite nan done.

tèminoloji

Ankapsulasyon (pwogram) - se yo sèvi ak modifye aksè yo nan lòd yo kache moso nan kòd soti nan itilizatè a fen. Anba li, nan vire, vle di pwomotè oswa eritaj sit sa yo.

Sans la nan konsèp nan "ANKAPSILASYON"

Definisyon an presize ke pa ANKAPSILASYON vle di kache tout oswa yon pati nan kòd la pwogram nan. Sans la nan konsèp nan "ANKAPSILASYON" se yo manipile modifye aksè. Sa vle di ke pwomotè a ka deside ki pwopriyete yo, metòd, ak klas yo pral ouvè a kliyan-klas la, e ki sa - yo kache.

aksè modifye

Gen aksè modifye, ki, pami lòt bagay, se kapab nan manipulyarivat ANKAPSILASYON (Java pwogramasyon):

  • piblik ( "Piblik" - piblik, louvri aksè) - pataje tou de klas yo kounye a ak objè, ak nan mond lan deyò;
  • prive ( "prayvat" - prive, prive, aksè kache) - fèmen aksè, sans nan ki se konplètman opoze a nan yon sèl la anvan yo. Li bay aksè sèlman nan klas la kounye a;
  • pwoteje ( "protekted" - pwoteje, demi-kache aksè) - Aksè nan klas la aktyèl ak dérivés li yo;
  • default - Unspecified aksè Modifier vle di ke ka jaden / metòd la ka wè pou tout klas yo kounye a nan pakè a.

Nan C # lang ( "Si ou Sharp"), nan adisyon a pi wo a nan (eksepte dènye a), gen toujou modifye:

  • entèn ( "entèn" - aksè entèn) - aksè nan mitan tout pèp la kounye a, aksè andedan kay la nan tout lòt ka;
  • entèn pwoteje ( "entèn protekted" - entèn Aksè Pwoteje) - sendika nan de modifye nan yon sèl nan ki pwopriyete manifeste nan tou de nan yo.

Wòl nan ANKAPSILASYON

mekanis ANKAPSILASYON elimine enfliyans ekstèn sou kòd la ak move itilizasyon nan done entegre nan li. Sa a se akonpli pa mete ansanm kòd la ak done nan yon sèl.

Objè ak ANKAPSILASYON

Konbine aplikasyon an nan yon modil lojisyèl ak done entegre nan kòd la, pwogram yo rele yon objè. Sans la nan koneksyon li yo ak ANKAPSILASYON a se ke tankou yon metòd pèmèt yo kenbe epi asire entegrite nan nan operasyon an nan mekanis la.

Avantaj nan ANKAPSILASYON

Ankapsulasyon - yon fason yo senplifye pwosesis la kodaj. liy Anpil nan kòd yo se "dèyè sèn nan", ak nan travay nan klas prensipal ki pral fè objeksyon sikonstans.

Lide a nan pwoteksyon done

Ankapsulasyon - li se tou yon mekanis ki reyalize lide a nan pwoteksyon done. se lojik Pwogram objè-oryante pwogram bati sou baz la nan sa ki pi fò nan done yo pral kache aksè Modifier (prive, prive) oswa pwoteje. prive (pwoteje) mond lan deyò, kliyan an aksidantèlman oswa fè espre pa pral domaje aplikasyon an nan yon modil lojisyèl. Paske an reyalite li fè li trè fasil yo pa menm sou objektif, ANKAPSILASYON - sa a se yon prensip trè bon.

inite ANKAPSILASYON

Gwoup, kòm yon inite debaz yo nan ANKAPSILASYON epi dekri done yo konprann yon kòd, ki se kapab yo opere sou done sa yo. Li se tou baz la pou konstriksyon an nan objè a. Lèt la, nan vire, se prezante kòm yon egzanp.

Epitou itilize tèminoloji sa a:

  • manm - sa a se kòd la ak done yo enkli nan klas la;
  • jaden oswa varyab egzanp - done yo sa yo rele ki defini klas la;
  • fonksyon manm - yo genyen ladan yo kòd la tèt li. Manm fonksyon - yon non komen. Yon ka espesyal - metòd.

Ankapsulasyon espesifik egzanp

Ankapsulasyon (pwogram) egzanp:

* Nòt:

deskripsyon - yon deskripsyon nan metòd / pwopriyete / varyab la, sa vle di fè kòmantè sou sa ki aktyèlman k ap pase nan pwogram lan. Li se demontre pa vle di nan ouvèti / fèmti Tags

lè l sèvi avèk sistèm;

Espas non OOPLibrary.Auto

{

///

/// se Klas sa a gen entansyon dekri aksyon machin nan nan

///

klas piblik Auto

{

///

/// varyab kreye yo nan lòd yo ekri nan li, konbyen ane machin nan, depi entèferans nan ekstèn nan pwomotè a pwopriyete konsidere initil

/// se Modifier make prive, dir fèmen, aksè prive (wè. Deskripsyon ki anwo la a).

///

prive _age Int;

///

/// Yon Boolean (sèlman de posib valè - repons lan se wi oswa ki pa gen), ki dekri si wi ou non machin nan ap deplase nan moman sa a

/// Li ta dwe tou dwe ouvè a itilizatè a fen, moun ki va li te ye. Se poutèt sa sa a varyab asiyen yon aksè prive Modifier "prayvat"

///

prive _isMoving bouleen;

///

/// sa a varyab fisèl ta dwe gen ladan enfòmasyon sou koulè a nan machin lan. Li kapab chanje pa enfliyanse ekstèn

/// paske pou Modifier la koulè chwazi aksè louvri "piblik".

///

piblik Koulè fisèl;

///

/// Nan ka sa a an patikilye, nou sipoze ke non an nan machin nan, tou, kapab chanje

/// asiyen yon Modifier nan piblik (aksè louvri pou tout moun, kèlkeswa klas la oswa asanble).

///

piblik Non fisèl;

///

/// Louvri konstrukteur nan klas, ak tout pwopriyete nan varyab la eksprime, li mete yon ti kras pi bonè, jwenn valè yo

///

piblik Auto ()

{

_age = 5;

_isMoving = fo;

Koulè = "koulè wouj violèt";

Non = "Skoda Octavia";

}

///

/// Metòd la reyalize yon valè retounen nan laj la oto. Poukisa sa a se nesesè?

/// aksè prive Modifier pa fè li posib pou fè chanjman yo kliyan.

///

/// retounen laj la nan machin lan.

piblik fisèl GetAge ()

{

retounen "Nan moman sa a, machin nan chwazi" + _age + "ane sa yo.";

}

///

/// Si machin nan se pa sa k ap deplase, metòd sa a aplike nan kòmansman an nan mouvman an. Chèk varyab oboznalsya, kondisyon an nan machin nan (vwayaje oswa ou pa), ak, tou depann de rezilta yo, se aksyon apwopriye / mesaj la parèt.

///

piblik anile Start ()

{

si (_isMoving)

{

Console.WriteLine ( "te mouvman a deja te kòmanse");

}

lòt

{

_isMoving = verite;

Console.WriteLine ( "Prepare, derape .. Ale koupe!");

}

}

///

/// Si yo te mouvman an inisye, metòd sa a sispann l '. Lojik la pwogram menm jan ak nan ka a anvan yo konsidere kòm.

///

piblik Stop anile ()

{

si (_isMoving)

{

_isMoving = fo;

Console.WriteLine ( "One Stop machin");

}

lòt

{

Console.WriteLine ( ". Erè machin ak konsa kanpe toujou, pa deplase");

}

}

///

/// Ann Aplikasyon vire bò gòch, si gen yon machin

///

piblik MoveLeft anile ()

{

si (_isMoving)

{

Console.WriteLine ( "vire a goch ap fè");

}

lòt

{

Console.WriteLine ( ". Machin Erè se estasyonè karakteristik wotasyon se kounye a pa disponib.");

}

}

///

/// Yon metòd ki sanblab ak vire a dwat

///

piblik MoveRight anile ()

{

si (_isMoving)

{

Console.WriteLine ( "Vire a dwat te aplike avèk siksè");

}

lòt

{

Console.WriteLine ( ". Erè machin nan pa te deplase soti nan plas la Vire dwat li se nan moman sa a aksyon an, li enposib fè ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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