KompjuteraProgramimi

Encapsulation - çfarë është kjo? Encapsulation në programimin

Encapsulation - kjo është një nga tre karakteristikat kryesore të programimit të orientuar në objekte (OOP). Dy të tjerë - polymorphism dhe trashëgimia. Së bashku ata përbëjnë kuadrin PLO cila parashtron një sërë karakteristika të programeve të shkruar në gjuhë të ndryshme, duke përdorur këto tri parime. gjuhë object-oriented, nga ana tjetër, janë të obliguar që rreptësisht ndjekin ato.

OOP Basics

Object-oriented programimit në tre shtyllat e krijimit të saj:

  • Polymorphism, duke u përgjigjur në pyetjen se si një gjuhë të veçantë programimi merret me objekte që kanë një marrëdhënie me njëri-tjetrin, në mënyrë të ngjashme.
  • Trashëgimia, duke i dhënë një përgjigje, se si është stimulimi i përdorimit të kodit reusable.
  • Encapsulation, që është përgjigja në pyetjen e fshehur zbatimin zhvillohet, dhe në këtë mënyrë integritetin e të dhënave.

terminologji

Encapsulation (programimi) - është që të përdorin modifiers qasje në mënyrë që të fshehin pjesë të kodit nga përdoruesit fund. Nën të, nga ana tjetër, do të thotë zhvilluesi i saj ose trashëgimisë faqet e.

Thelbi i konceptit të "encapsulation"

Përkufizimi specifikon se nga encapsulation menduar fshehur të gjitha ose një pjesë të kodit të programit. Thelbi i konceptit të "encapsulation" është për të manipuluar modifiers qasje. Kjo do të thotë se zhvilluesi mund të vendosë se cilat prona, metodat, dhe klasa do të jetë i hapur për të klientit-klasë, dhe ajo - janë të fshehura.

modifiers qasjes

Ka modifiers qasje, e cila, ndër të tjera, është i aftë të manipulyarivat encapsulation (programimit Java):

  • publike ( "publik" - publik, qasje të hapur) - ndajnë dy klasa aktuale dhe objektet, dhe në botën e jashtme;
  • private ( "prayvat" - private, private, qasja e fshehur) - mbyllur qasje, thelbi i të cilit është krejtësisht e kundërta e një mëparshme. Ai siguron qasje vetëm nga klasa e tanishme;
  • mbrojtura ( "protekted" - të mbrojtur, gjysmë-fshehur qasje) - Qasja në klasën aktuale dhe derivateve të saj;
  • parazgjedhur - Qasje të paspecifikuara modifier do të thotë se fusha / metodë mund të shihet për të gjitha klasat e aktuale në paketën.

Në C # gjuhë ( "Si Sharp"), përveç sa më sipër (me përjashtim të fundit), ka ende modifiers:

  • brendshëm ( "i brendshëm" - qasje të brendshëm) - qasja në kuvendin aktual, qasje shtëpie për të gjitha rastet e tjera;
  • brendshme të mbrojtura ( "i brendshëm protekted" - Qasja e brendshme e mbrojtura) - bashkimi i dy Ndryshuesit në një në të cilën pronat e dukshme të dy prej tyre.

Roli i encapsulation

Mekanizmi encapsulation eliminon ndikimin e jashtëm në kodin dhe keqpërdorimit të të dhënave të ngulitur në të. Kjo është arritur duke kombinuar kodin dhe të dhënat në një.

Objekti dhe encapsulation

Kombinuar zbatimin e një modul software dhe të dhënat e ngulitur në kodin, programimi është quajtur një objekt. Esenca e lidhjes së saj me encapsulation është se një metodë e tillë lejon për të ruajtur dhe për të siguruar integritetin e funksionimit të mekanizmit.

Avantazhi i encapsulation

Kapsulë - një mënyrë për të lehtësuar procesin e kodimit. linjat e shumta të kodit janë "prapa skenave", dhe në punën kryesore të klasës do të kundërshtojë raste.

Ideja e mbrojtjes së të dhënave

Encapsulation - ajo është gjithashtu një mekanizëm që realizon idenë e mbrojtjes së të dhënave. Logjika Program object-oriented programimit është ndërtuar mbi bazën e asaj që shumica e të dhënave do të jetë qasja modifier fshehur private (private, private), ose të mbrojtura (të mbrojtura). Botën e jashtme, klienti aksidentalisht apo qëllimisht nuk do të dëmtojë zbatimin e një modul software. Sepse në fakt kjo e bën shumë të lehtë për të as në qëllim, encapsulation - ky është një parim shumë i mirë.

njësi encapsulation

Class, si njësi themelore e encapsulation dhe përshkruan të dhënat përbëhet nga një kod, i cili është në gjendje të veprojë në këto të dhëna. Ai është gjithashtu baza për ndërtimin e objektit. Ky i fundit, nga ana tjetër, është paraqitur si një shembull.

Gjithashtu përdoret terminologjinë e mëposhtme:

  • Anëtarët - ky është kodi dhe të dhënat e përfshira në klasë;
  • Fushat ose variabla shkallës - të ashtuquajturat të dhënat që përcakton klasën;
  • Funksionet anëtare - ato përmbajnë vetë kodin. Funksionet anëtare - një emër të përbashkët. Një rast i veçantë - metoda.

Encapsulation shembull specifik

Encapsulation (programimi) shembull:

* Shënim:

përshkrimi - një përshkrim i metodës / Pronës / variabël, dmth duke komentuar mbi atë që ndodh në të vërtetë në program. Kjo është demonstruar me anë të hapjes / mbylljes tags

përdorimin e Sistemit;

namespace OOPLibrary.Auto

{

///

/// Kjo klasë ka për qëllim për të përshkruar veprimin e makines

///

publik klasë Auto

{

///

/// variablat e krijuar në mënyrë për të shkruar në të, sa vjet makina, që nga ndërhyrja e jashtme në zhvilluesi i pronës konsideron tepërt

/// modifier është shënuar private, dmth të mbyllura, qasje private (shih. Përshkrimi i mësipërm).

///

_age private int;

///

/// A Boolean (vetëm dy vlera të mundshme - Po apo Jo), i cili përshkruan nëse automjeti është duke lëvizur në këtë moment

/// Ajo gjithashtu duhet të jetë e hapur për përdoruesit fund, kushdo që ai ishte. Prandaj, ky variabël është caktuar një qasje private modifikues "prayvat"

///

_isMoving private bool;

///

/// Kjo variabël string duhet të përmbajë informacion në lidhje me ngjyrën e makinës. Ajo mund të ndryshohet nga ndikimet e jashtme

/// sepse për modifier ngjyra zgjedhur qasje të hapur "publike".

///

Color string publik;

///

/// Në këtë rast të veçantë, ne supozojmë se emri i makinave, gjithashtu, mund të ndryshohet

/// caktuar një modifier e publike (qasje të hapur për të gjithë, pavarësisht nga klasa apo kuvendit).

///

string publik Emri;

///

/// Hap konstruktor klasës, dhe të gjitha pronat e variablit të shprehur dhe të vendosur pak më parë, të marrë vlerat e tyre

///

Auto publik ()

{

_age = 5;

_isMoving = false;

Color = "Purple";

Emri = "Skoda Octavia";

}

///

/// Metoda realizon një vlerë Kthimi i moshës auto. Pse është kjo e nevojshme?

/// qasje private modifier nuk e bën të mundur për ndryshimet klientit.

///

/// Kthen moshën e makinave.

string publik GetAge ()

{

kthehen "Në këtë moment, makina zgjedhur" + _age + "vjet.";

}

///

/// Nëse makina nuk është duke ecur, kjo metodë zbaton fillimin e lëvizjes. Verifikimet oboznalsya ndryshueshme, gjendja e automjetit (udhëton ose jo), dhe, në varësi të rezultateve, veprimi i duhur / mesazhi shfaqet.

///

void publike Filloni ()

{

nëse (_isMoving)

{

Console.WriteLine ( "Lëvizja tashmë është filluar");

}

tjetër

{

_isMoving = vërtetë;

Console.WriteLine ( "Ready, Set .. Shko off!");

}

}

///

/// Nëse mocioni është iniciuar, kjo metodë ndalon atë. E njëjta logjikë program si në rastin e mëparshëm konsiderohet.

///

Stop public void ()

{

nëse (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "Stop Machine");

}

tjetër

{

Console.WriteLine ( ". Makinën Error dhe kështu të qëndrojë ende, nuk lëvizin");

}

}

///

/// Zbatuar nga ana e majtë, në qoftë se ka një automjet

///

MoveLeft public void ()

{

nëse (_isMoving)

{

Console.WriteLine ( "ana e majtë janë bërë");

}

tjetër

{

Console.WriteLine ( ". Automjeti Gabim është tipar stacionare rotacioni për momentin nuk është në dispozicion.");

}

}

///

/// Një metodë e ngjashme me të drejtë nga ana e tij

///

MoveRight public void ()

{

nëse (_isMoving)

{

Console.WriteLine ( "nga ana e djathtë është zbatuar me sukses");

}

tjetër

{

Console.WriteLine ( ". Gabim makina nuk ka lëvizur nga pika kthese drejtë ajo është në këtë moment veprimi, është e pamundur për të kryer ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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