CalculatoareProgramare

Încapsularea - Ce este asta? Încapsularea în programare

Încapsularea - aceasta este una dintre cele trei caracteristici principale ale programării orientate-obiect (OOP). Celelalte două - polimorfismului și moștenirea. Împreună, ei alcătuiesc cadrul OEP, care stabilește o serie de caracteristici ale programelor de scriere în diferite limbi, folosind aceste trei principii. limbaje orientate obiect, la rândul lor, sunt obligate să le respecte cu strictețe.

Elementele de bază OOP

Orientată obiect de programare pe trei piloni ai creației sale:

  • Polimorfismul, răspunzând la întrebarea de modul în care se ocupă un anumit limbaj de programare cu obiecte care au o relație unul cu celălalt, într-un mod similar.
  • Moștenirea, dând un răspuns, cum este stimularea utilizării de cod reutilizabile.
  • Încapsularea, care este răspunsul la întrebarea de a ascunde punerea în aplicare are loc, și, astfel, integritatea datelor.

terminologie

Încapsularea (programare) - este de a utiliza modificatori de acces, în scopul de a ascunde bucăți de cod de la utilizatorul final. Sub ea, la rândul său, înseamnă site-urile de dezvoltator sau de patrimoniu.

Esența conceptului de „încapsulare“

Definiția specifică faptul că prin încapsulare însemna ascunderea toate sau o parte a codului de program. Esența conceptului de „încapsulare“ este de a manipula modificatori de acces. Acest lucru înseamnă că dezvoltatorul poate decide care proprietăți, metode și clase vor fi deschise pentru client-clasa, si ce - sunt ascunse.

modificatorii de acces

Există modificatori de acces, care, printre altele, este capabil să încapsulare manipulyarivat (programare Java):

  • publice ( „public“ - publică, cu acces liber) - Distribuți clasele curente și obiecte, precum și lumea exterioară;
  • privat ( „prayvat“ - acces privat, privat, ascuns) - închis de acces, esența, care este complet opusă celei precedente. Acesta oferă acces numai din clasa curentă;
  • protejate ( „protekted“ - protejat, accesul pe jumătate ascuns) - Acces la clasa curentă și derivații săi;
  • implicit - acces nespecificată modificator înseamnă că câmpul / metoda poate fi văzută pentru toate clasele curente din pachet.

În limbajul C # ( „Si Sharp“), în plus față de cele de mai sus (cu excepția ultimului), există încă Modificatori:

  • internă ( „intern“ - acces intern) - accesibilitatea în ansamblul curent, acces din interior la toate celelalte cazuri;
  • intern protejate ( „protekted intern“ - Accesul intern protejat) - unirea a doi modificatori într-una în care proprietățile vădite de ambele.

Rolul încapsulare

Mecanismul de încapsulare elimină influența externă asupra codului și utilizarea abuzivă a datelor încorporate în ea. Acest lucru se realizează prin combinarea codului și a datelor într-o singură.

Obiect și încapsulare

Combinând punerea în aplicare a unui modul software și date încorporate în codul, de programare se numește un obiect. Esența legăturii sale cu încapsulare este că o astfel de metodă permite să se mențină și să asigure integritatea funcționării mecanismului.

Avantajul încapsulare

Încapsularea - o modalitate de a simplifica procesul de codificare. Numeroase linii de cod sunt „în spatele scenei“, iar în lucrarea principală de clasă se va opune instanțe.

Ideea de protecție a datelor

Încapsularea - este, de asemenea, un mecanism care realizează ideea de protecție a datelor. Logica Programul de programare orientat-obiect este construit pe baza a ceea ce va fi cea mai mare parte a datelor de acces modificator ascuns privat (privat, privat) sau protejat (protejat). Lumea din afara, clientul accidental sau deliberat nu va afecta punerea în aplicare a unui modul software. Pentru că, de fapt, face foarte ușor să nu chiar intenționat, încapsulare - acesta este un principiu foarte bun.

unitate de încapsulare

Clasa, ca unitate de bază de încapsulare și descrie datele conține un cod, care este capabil să opereze pe aceste date. El este, de asemenea, baza pentru construcția obiectului. Acestea din urmă, la rândul său, este prezentat ca un exemplu.

De asemenea, a folosit următoarea terminologie:

  • Membrii - acesta este codul și datele incluse în clasa;
  • câmpuri sau variabile de instanta - așa-numitele date care definește clasa;
  • functii membre - acestea conțin codul în sine. Funcții membre - un nume comun. Un caz special - metode.

exemplu specific Încapsulare

Încapsularea (programare) exemplu:

* Notă:

descriere - o descriere a metodei / proprietate / variabilă, adică comentând ceea ce se întâmplă de fapt în program. Este demonstrat prin deschidere / închidere tag-uri

folosind System;

Spațiu de nume OOPLibrary.Auto

{

///

/// Această clasă este destinat să descrie acțiunea mașinii

///

public class Auto

{

///

/// variabile , create cu scopul de a scrie în ea, cât de mulți ani masina, deoarece interferența externă în dezvoltator de proprietate consideră inutilă

/// modificator este marcat privat, adică închis, acces privat (vezi. Descrierea de mai sus).

///

_age private int;

///

/// O boolean (doar două valori posibile - da sau nu), care descrie dacă vehiculul se deplasează în acest moment

/// Ar trebui să fie , de asemenea , deschis la utilizatorul final, cine a fost. Prin urmare , această variabilă este atribuit un acces modificator privat „prayvat“

///

_isMoving bool privat;

///

/// Această variabilă șir ar trebui să conțină informații despre culoarea masinii. Acesta poate fi schimbat prin influențe externe

/// deoarece pentru modificator de culoare selectat acces deschis „public“.

///

Culoare șir publice;

///

/// În acest caz particular, presupunem că numele mașinii, de asemenea, pot fi schimbate

/// atribuit un modificator public (acces deschis pentru toți, indiferent de clasă sau de asamblare).

///

Numele șir de caractere publice;

///

/// Deschide constructorul clasei și toate proprietățile variabilei exprimate și a stabilit un pic mai devreme, pentru a primi valorile lor

///

Auto publice ()

{

_age = 5;

_isMoving = false;

Culoare = „Violet“;

Nume = "Skoda Octavia";

}

///

/// Metoda realizează o valoare returnată de vârsta auto. De ce este necesar acest lucru?

/// acces privat modificator nu face posibilă pentru modificările de client.

///

/// Returnează vârsta mașinii.

șir de caractere publice GetAge ()

{

întoarce „În momentul de față, aparatul selectat“ + „+ _age ani.“;

}

///

/// Dacă mașina nu este în mișcare, această metodă pune în aplicare începutul mișcării. Controale oboznalsya variabilă, starea vehiculului (deplasare sau nu), și, în funcție de rezultate, este afișată o acțiune adecvată / mesaj.

///

public void start ()

{

if (_isMoving)

{

Console.WriteLine ( „Mișcarea a fost deja început“);

}

altfel

{

_isMoving = true;

Console.WriteLine ( "Ready, Set .. Du - te jos!");

}

}

///

/// Dacă a fost inițiată mișcarea, această metodă îi oprește. Aceeași logică de program ca și în cazul precedent luate în considerare.

///

Oprire public void ()

{

if (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "Oprire Machine");

}

altfel

{

Console.WriteLine ( „mașină de eroare și așa stau încă, nu se mișca“);

}

}

///

/// Implementat viraj la stânga, în cazul în care există un vehicul

///

MoveLeft public void ()

{

if (_isMoving)

{

Console.WriteLine ( „viraj la stânga se face“);

}

altfel

{

Console.WriteLine ( „vehicul de eroare este caracteristică de rotație staționară nu este disponibilă în prezent.“);

}

}

///

/// O metodă similară cu virajul spre dreapta

///

MoveRight public void ()

{

if (_isMoving)

{

Console.WriteLine ( "Turn dreapta a fost implementat cu succes");

}

altfel

{

Console.WriteLine ( „Eroare Mașina nu a fost mutat de la punctul de cotitură dreapta este în momentul acțiunii, este imposibil de a efectua ..“);

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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