Proprietățile de sprijin ale încapsulare într-o clasă are două avantaje majore. Clasa întâi link-uri de date cu cod. Și în al doilea rând, clasa oferă mijloacele de a controla accesul membrilor săi. Este această a doua caracteristică avantajoasă și va fi discutată în acest articol.
Limbajul C #, în esență, există două tipuri de membri de clasă: deschise și închise. deși în realitate situația este un pic mai complicat. Accesul membrilor publice efectuate în mod liber de cod definit in afara clasei. O clasă membru privată este disponibilă numai pentru metodele definite în clasă. Cu ajutorul membrilor private și de control al accesului organizat.
Restricționarea accesului la membrii clasei este o etapă fundamentală a programării orientate pe obiect, deoarece vă permite să elimine utilizarea incorectă a instalației. Permiterea accesului la date restricționate numai printr-un număr bine definit de tehnici pot preveni atribuirea incorectă a valorilor datelor, prin efectuarea, de exemplu, cifrele reprezintă gama. Pentru clasa de membru privat nu se poate seta valoarea direct în codul din afara clasei. Dar, în același timp, puteți controla complet modul în care și atunci când datele sunt utilizate în obiectul. Prin urmare, în mod corect puse în aplicare formele de clasă un fel de „cutie neagră“, care pot fi utilizate, dar mecanismul intern al acțiunii sale este închisă la un amestec din afară.
modificatorii de acces
Controlul accesului în C # este organizat de cele patru modificatorii de acces. publice. privat. protejat și intern.
Atunci când un membru al clasei indicate publice specificator. este disponibil de la orice alt cod în program, inclusiv metodele definite în alte clase. Când specificatorul membru al clasei desemnate privat. acesta poate fi pus la dispoziție numai altor membri ai acestei clase. În consecință, metodele de alte clase nu au acces la elementul privat (privat) a clasei. Esli nu specificator de acces este specificat, membru al clasei este considerată închisă pentru clasa implicită. Prin urmare, atunci când creați un membrii clasei închis Specificator privat este opțională pentru ei.
Cu modificator de acces protejat este asigurat prin crearea unui membru securizat al clasei la care accesul este deschis într-o ierarhie de clasă. Un modificator intern servește în principal pentru asamblare.
Pentru claritate, să ne uităm la un exemplu:
După cum puteți vedea, accesul la membrii b și c este închis, dar, în ciuda acestui fapt, accesul la ele este organizat cu ajutorul designerului. Din toate cele de mai sus, putem trage următoarea concluzie importantă: un membru privat poate fi utilizat în mod liber de către alți membri ai aceleiași clase, dar nu este disponibil codul în afara clasei sale.
Organizarea accesului închis și deschis
organizarea corectă a accesului public și privat - cheia succesului într-o programare orientată pe obiecte. Și, cu toate că pentru aceasta nu există reguli stabilite ferm, de mai jos prezintă un număr de principii generale. care poate servi drept ghid de acțiune:
Membrii utilizate numai în clasă, ar trebui să fie închise
date exemplu, nu depășesc un anumit interval de valori, ar trebui să fie închise, precum și organizarea accesului la acestea, prin intermediul metodelor publice trebuie efectuată verificarea numerelor reprezintă intervalul
În cazul în care un membru al schimbării are consecințe care se extind dincolo de domeniul de acțiune al elementului, și anume, are un impact asupra altor aspecte ale obiectului, acest termen ar trebui să fie închise, iar accesul la acesta - controlat
Membrii, care pot deteriora obiectul, dacă este folosit în mod corect, ar trebui să fie închise. Accesul la acești membri ar trebui să fie organizate cu ajutorul unor metode publice care exclud utilizarea incorectă
Metode pentru a obține și a stabilit valorile datelor private, trebuie să fie deschise
Variabilele de instanta li se permite să facă deschis numai în cazul în care nu există niciun motiv pentru ca acestea să fie închise
Desigur, există multe situații în care principiile nu se aplică la cele de mai sus, și, în cazuri speciale, una sau mai multe dintre aceste principii pot fi încălcate deloc. Dar, în general, ca urmare a acestor reguli, puteți crea obiecte care sunt rezistente la încercări de utilizare necorespunzătoare.