Kompjutera, Programimi
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
- 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.
- 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