Computer, Programming
Encapsulation - unsa man kini? Encapsulation sa programming
Encapsulation - kini mao ang usa sa tulo ka nag-unang bahin sa butang-oriented programming (oop). Ang laing duha ka - polymorphism ug panulondon. Mag-uban sila sa paghimo sa PLO gambalay nga lays sa usa ka-laing mga bahin sa pagsulat sa mga programa sa lain-laing mga pinulongan, sa paggamit niining tulo ka mga baruganan. Butang-oriented nga mga pinulongan, sa baylo, obligado sa hugot nga pagsunod kanila.
oop Basics
Butang-oriented programming sa tulo ka mga haligi sa iyang pagkalalang:
- Polymorphism, sa pagtubag sa pangutana kon sa unsang paagi ang usa ka partikular nga programming pinulongan naghisgot sa mga butang nga adunay usa ka relasyon uban sa usag usa, diha sa usa ka susama nga paagi.
- Panulondon, sa paghatag sa usa ka tubag, sa unsa nga paagi ang stimulation sa sa paggamit sa reusable code.
- Encapsulation, nga mao ang tubag sa mga pangutana sa nagtago sa pagpatuman mahitabo, ug sa ingon ang data integridad.
terminolohiya
Encapsulation (programming) - mao ang sa paggamit sa access modifiers aron sa pagtago sa mga piraso sa code nga gikan sa katapusan user. Sa ubos niini, sa baylo, nagpasabot nga ang developer o panulondon sites.
Ang diwa sa konsepto sa "encapsulation"
kahulugan ang nagtumbok nga pinaagi sa encapsulation nagpasabot nagtago sa tanan o bahin sa code nga programa. Ang diwa sa konsepto sa "encapsulation" mao sa pagmaniobra access modifiers. Kini nagpasabot nga ang developer makahukom nga kabtangan, mga pamaagi, ug mga klase mahimong bukas sa kliyente-klase, ug kon unsa ang - natago.
access modifiers
- sa publiko ( "Public" - sa publiko, open access) - bahin sa mga kasamtangan nga mga klase ug sa mga butang, ug sa gawas sa kalibutan;
- pribado nga ( "prayvat" - pribado, pribado, tinago nga access) - sirado access, ang diwa sa nga mao ang hingpit nga sa atbang sa miaging usa. Kini naghatag og access lamang gikan sa kasamtangan nga klase;
- gipanalipdan ( "protekted" - gipanalipdan, katunga-nga-natago access) - Access sa sa kasamtangan nga klase ug mga produkto niini;
- remate - wala matino access modifier nagpasabot nga ang uma / pamaagi makita sa tanan nga mga kasamtangan nga mga klase sa package.
Sa C # pinulongan ( "Si Sharp"), dugang pa sa ibabaw (gawas sa katapusan nga), adunay mga pa modifiers:
- internal ( "internal" - internal nga access) - accessibility sa sa kasamtangan nga katilingban, sa sulud access sa tanan nga uban nga mga kaso;
- internal gipanalipdan ( "internal protekted" - internal Protected Access) - panaghiusa sa duha ka modifiers sa usa sa nga gipadayag kabtangan sa duha kanila.
Ang papel sa encapsulation
encapsulation mekanismo mitangtang sa gawas nga impluwensya sa code ug sa sayop nga paggamit sa data nga nasukip sa sulod niini. Kini natuman pinaagi sa paghiusa sa mga code ug data ngadto sa usa ka.
Butang ug encapsulation
Sa paghiusa sa mga pagpatuman sa usa ka software module ug mga data nga nasukip sa code, programa gitawag nga usa ka butang. Ang diwa sa iyang koneksyon sa encapsulation mao nga ang ingon nga sa usa nga paagi nagtugot sa pagpadayon ug sa pagsiguro sa integridad sa operasyon sa mga mekanismo.
Ang pagpahimulos sa encapsulation
Encapsulation - sa usa ka paagi sa simple sa pag-encode sa proseso. Daghang mga linya sa code mao ang "luyo sa mga talan-awon", ug sa mga nag-unang klase nga buhat mao ang pag-adto sa mosupak higayon.
Ang ideya sa pagpanalipod sa data
Encapsulation - kini mao usab ang usa ka mekanismo nga makaamgo ang ideya sa panalipod data. Program katarungan nga butang-oriented programming natukod sa basehan sa unsa ang kadaghanan sa mga data mahimong tinago nga access modifier pribado nga (pribado, pribado nga) o gipanalipdan (protected). Sa gawas sa kalibutan, ang customer aksidenteng o tinuyo dili ang kadaut sa implementasyon sa usa ka module software. Tungod kay sa pagkatinuod kini naghimo kini kaayo sayon sa dili bisan sa katuyoan, encapsulation - kini mao ang usa ka maayo kaayo nga baruganan.
encapsulation yunit
Klase, ingon sa usa ka nag-unang mga yunit sa encapsulation ug naghulagway sa data gilangkoban sa usa ka code, nga mao ang makahimo sa pag-operate niini nga mga data. Siya mao usab ang basehan alang sa pagtukod sa butang. Ang ulahing, sa baylo, gipresentar ingon nga usa ka pananglitan.
- mga miyembro sa - mao kini ang code ug sa mga data nga gilakip diha sa klase;
- kaumahan o Pananglitan baryable - ang gitawag nga data nga naghubit sa klase;
- gimbuhaton nga miyembro - sila naglangkob sa mga code sa iyang kaugalingon. gimbuhaton Member - sa usa ka komon nga ngalan. Usa ka espesyal nga kaso - mga pamaagi.
Encapsulation piho nga panig-ingnan
Encapsulation (programming) panig-ingnan:
* Mubo nga sulat:
paghulagway - ang usa ka paghulagway sa pamaagi / kabtangan / baryable, ie pagkomento sa unsay tinuod nga mahitabo sa programa. Kini gipakita pinaagi sa pag-abli / panapos tags
sa paggamit sa System;
namespace OOPLibrary.Auto
{
///
/// klase Kini gituyo sa paghulagway aksyon sa sakyanan ni
///
sa publiko nga klase Auto
{
///
/// baryable gilalang aron sa pagsulat diha niini, sa unsa nga paagi sa daghang mga tuig sa sakyanan, sukad sa gawas nga pagpanghilabot sa developer kabtangan giisip nga kapin sa kinaiya
/// modifier gimarkahan pribado nga, pananglitan sirado, pribado nga access (tan-awa sa. Ang paghulagway sa ibabaw).
///
pribado nga int _age;
///
/// Usa ka boolean (duha lamang ka posible nga mga prinsipyo - oo o dili), nga naghulagway kon sa sakyanan nagalihok sa takna
/// Kini kinahanglan usab nga nga bukas ngadto sa katapusan user, bisan kinsa nga siya mao. Busa kini nga baryable ang giasayn sa usa ka pribado nga access modifier "prayvat"
///
pribado nga Bool _isMoving;
///
/// Kini nga hilo baryable kinahanglan naglakip sa impormasyon mahitungod sa kolor sa sakyanan. Kini nga mausab pinaagi sa sa gawas nga mga impluwensya
/// tungod kay alang sa mga kolor modifier pinili nga open access "sa publiko".
///
sa publiko hilo Kolor;
///
/// Sa niini nga partikular nga kaso, kita maghunahuna nga ang ngalan sa sakyanan, usab, mahimong mausab
/// assign sa usa ka modifier sa publiko (open access alang sa tanan, sa walay pagtagad sa klase o katilingban).
///
sa publiko Ngalan hilo;
///
/// Mobukas sa klase magtutukod, ug sa tanan nga mga kabtangan sa mga gipahayag nga baryable ug gibutang sa usa ka gamay nga sa sayo pa, sa pagkuha sa ilang mga mga prinsipyo
///
sa publiko Auto ()
{
_age = 5;
_isMoving = bakak;
Kolor = "purpura";
Ngalan = "Skoda Octavia";
}
///
/// pamaagi Ang nahibalo sa usa ka pagbalik bili sa auto edad. Nganong kini gikinahanglan?
/// pribado nga access modifier dili sa paghimo niini nga posible alang sa mga pagbag-o kliyente.
///
/// Mibalik sa edad sa sa sakyanan.
publiko nga hilo GetAge ()
{
mobalik "Sa higayon nga, ang pinili nga makina" + _age + "tuig.";
}
///
/// Kon ang sakyanan dili pagbalhin, kini nga paagi nagpatuman sa pagsugod sa kalihukan. Tseke baryable oboznalsya, ang kahimtang sa mga sakyanan (nagapanawng o dili), ug, depende sa resulta, sa tukma nga aksyon / mensahe gipakita.
///
sa publiko nga walay Start ()
{
kon (_isMoving)
{
Console.WriteLine ( "kalihukan ang na nagsugod");
}
lain
{
_isMoving = tinuod;
Console.WriteLine ( "Andam, Set .. Lakaw sa!");
}
}
///
/// Kon ang motion nga gisugdan, kini nga pamaagi pag-undang kaniya. Ang sama nga programa sa katarungan nga ingon sa miaging kaso giisip.
///
sa publiko nga walay Stop ()
{
kon (_isMoving)
{
_isMoving = bakak;
Console.WriteLine ( "Stop Machine");
}
lain
{
Console.WriteLine ( ". Error sakyanan ug sa ingon motindog pa, ayaw pagbalhin");
}
}
///
/// implementar sa wala baylo, kon adunay usa ka sakyanan
///
sa publiko nga walay MoveLeft ()
{
kon (_isMoving)
{
Console.WriteLine ( "turn sa wala ginahimo");
}
lain
{
Console.WriteLine ( ". Error sakyanan mao ang naghunong rotation bahin mao ang karon dili anaa.");
}
}
///
/// usa ka susama nga pamaagi sa sa husto nga turn
///
sa publiko nga walay MoveRight ()
{
kon (_isMoving)
{
Console.WriteLine ( "Bumalik tuo malampuson nga gipatuman");
}
lain
{
Console.WriteLine ( ". SAYOP sakyanan wala mibalhin gikan sa spot milingi tuo kini sa higayon nga ang aksyon, kini imposible sa pagbuhat ..");
}
}
}
}
Similar articles
Trending Now