Computer, Zokuhlela
Encapsulation - yintoni na le nto? Encapsulation in kweenkqubo
Encapsulation - le yenye yezona zinto ezintathu ezingundoqo into ebomini iinkqubo (OOP). Ezinye ezimbini - polymorphism kunye nelifa. Ndawonye zenza i sikhokelo PLO leyo ibeka phantsi uluhlu lweempawu lweenkqubo yokubhala iilwimi ezahlukeneyo, besebenzisa le migaqo mithathu. iilwimi into ebomini, ke ngoko kunyanzelekile ukuba ukulandela ngokungqongqo.
OOP Basics
Into ebomini lwenkqubo kwi iintsika ezintathu indalo yayo;
- Polymorphism, ephendula umbuzo indlela ulwimi oluthile lokuprograma lijongana izinto abe nolwalamano kunye namanye, ngendlela efanayo.
- Ilifa, ukunika impendulo, njani na nokukhuthaza ukusetyenziswa ikhowudi esebenza.
- Encapsulation, yona impendulo yombuzo ayezimele ukuphunyezwa kwenzeka, yaye ngaloo ndlela ingqibelelo data.
lwesigama
Encapsulation (senkqubo) - kukusebenzisa modifiers ukufikelela ukwenzela ukufihla amaqhekeza ikhowudi kumsebenzisi ekupheleni. Ngaphantsi, nayo, ithetha amaziko umphuhlisi okanye zelifa lemveli.
Kakuhle eli ingqiqo ka "encapsulation"
Le nkcazelo ikhankanya ukuba encapsulation kwakuthetha ngokufihla yonke okanye inxalenye yenkqubo khowudi. Kakuhle eli ingqiqo ka "encapsulation" kukuba ukuhanahanisa modifiers ukufikelela. Oku kuthetha ukuba umphuhlisi nga isigqibo iimpawu, iindlela, kunye iiklasi ziya akhangele uhanjiselo-eklasini, yaye yintoni - ifihliwe.
eyiyo yebug kwaye ulwazi
- zikarhulumente ( "Public" - yoluntu, ufikelelo open) - isabelo zombini iiklasi nezinto zangoku, kwaye kwihlabathi ngaphandle;
- labucala ( "prayvat" - abucala, zabucala, ufikelelo ezifihliweyo) - ivaliwe ukufikelela, eli leyo ngokupheleleyo malunga lowo wangaphambili. Inika unikezelo kuphela ukususela kwiklasi yangoku;
- ekhuselweyo ( "protekted" - ekhuselweyo, isiqingatha-efihliweyo ukufikelela) - Ukufikelela kwiklasi yangoku kunye nezakhi zayo;
- engagqibekanga - lijike ufikelelo isilungisi kuthetha ukuba endle / indlela kuza kujongwa kuzo zonke iiklasi zangoku kwiphakheji.
E C # ulwimi ( "Si Sharp"), ukongeza kungasentla (ngaphandle yokugqibela), kusekho osekhohlo:
- yangaphakathi ( 'ngaphakathi' - ufikelelo lwangaphakathi) - nokufikeleleka ibandla ngoku, ukufikelela endlwini kuzo zonke ezinye iimeko;
- lwangaphakathi ekhuselweyo ( "protekted yangaphakathi" - Access Protected lwangaphakathi) - yeemanyano modifiers ezimbini enye apho iimpawu zibonakale abo bobabini.
Indima encapsulation
mechanism encapsulation khipha impembelelo lwangaphandle kwi khowudi gwenxa lwe data engoma kuyo. Oku kufezwa ngokuhlanganisa ikhowudi kunye data zibe omnye.
Into encapsulation
Ukudibanisa ukuphunyezwa imodyuli software kunye data okulungiswe ikhowudi, kweenkqubo kuthiwa into. Eli uxhulumaniso wayo encapsulation kukuba indlela enjalo ivumela ukugcina nokuqinisekisa ukuthembeka kwenu kukusebenza indlela.
Buhle encapsulation
Encapsulation - indlela lula inkqubo enkhowudingi. imigca ezininzi khowudi zifumaneka "emva emfihlekweni", nakumsebenzi engundoqo iklasi uya lokuphikisa iimeko.
Ingcamango ukhuseleko data
Encapsulation - it Kwakhona ikwayindlela ukuba uyaqonda ingcamango wokhuseleko data. Inkqubo logic into ebomini iinkqubo yakhelwe ngokwesiseko ezininzi data ziya kuba yintoni ezifihlakeleyo ukufikelela isilungisi zabucala (private, private) okanye ezikhuselweyo (ezikhuselweyo). Ihlabathi ngaphandle, umthengi ngempazamo okanye ngabom akuyi umonakalo ukuphunyezwa imodyuli software. Ngenxa enyanisweni ngayo yenza kube lula kakhulu ukuba nkqu ngenjongo, encapsulation - oku esihle kakhulu.
unit encapsulation
Eklasini, njengeyunithi esisiseko encapsulation kwaye ichaza data iquka ikhowudi, onako ukusebenza kula data. Kwakhona isiseko ulwakhiwo kwento. Nevuthisayo ngexesha ke, ubekwa ngendlela umzekelo.
- amalungu - oku ikhowudi kunye data ifakiwe eklasini;
- emasimini okanye izinto ezahlukanayo umzekelo - ekuthiwa-data ukuthi ichaza udidi;
- imisebenzi ilungu - aqulathe ikhowudi ngokwayo. imisebenzi Ilungu - igama eliqhelekileyo. A Eyonanto ibalulekileyo - iindlela.
Encapsulation umzekelo ethile
Encapsulation (iinkqubo) Umzekelo:
* Qaphela:
inkcazo - inkcazo yendlela / ipropati / variable, okt bephawula kwinto ngokwenene eyenzekayo kule nkqubo. Le iboniswa ngokusebenzisa lokuvula / tags lokuvala
usebenzisa System;
segama OOPLibrary.Auto
{
///
/// Le iklasi yenzelwe ukuchaza intshukumo ye yemoto
///
Auto class kawonke
{
///
/// variables wadalwa ukuze ubhale kuwo, zingaphi iminyaka imoto, ekubeni ukuphazamisana lwangaphandle umphuhlisi impahla iqwalasela ononyawo
/// isilungisi iphawulwe, ngamanye ivaliwe, ufikelelo zabucala (bona. Le nkcazelo ngasentla).
///
_age int yabucala;
///
/// A boolean (amaxabiso amabini kuphela kunokwenzeka - ewe okanye hayi), nto leyo ichaza ukuba isithuthi ihamba ngalo mzuzu
/// Kufuneka kwakhona akhangele kumsebenzisi sekupheleni, lowo yena. Ngoko le variable unikwe zabucala elisisilungisi "prayvat"
///
_isMoving BOOL yabucala;
///
/// Le umtya bume kufuneka siqulathe ulwazi malunga umbala emotweni. It zingatshintshwa kwempembelelo zangaphandle
/// ngenxa kuba isilungisi umbala ekhethiweyo ukufikelela evulekileyo "uluntu".
///
Umbala Umtya wonke;
///
/// Kule imeko, sicingela ukuba igama imoto, nathi, ungakwazi kutshintshwa
/// wabelwe isilungisi yoluntu (ufikelelo avuleleke kumntu wonke, kungakhathaliseki ukuba iklasi okanye ibandla).
///
Igama Umtya wonke;
///
/// Ivula umhlanganisi eklasini, yaye zonke iimpawu variable yabonisa kwaye wabeka kancinane ngaphambili, ukufumana amaxabiso zabo
///
Auto karhulumente ()
{
_age = 5;
_isMoving = amanga;
Umbala = "Purple";
Name = "Skoda octavia";
}
///
/// Le ndlela uyakuqaphela ixabiso ukubuya yobudala auto. Kutheni kubalulekile oku?
/// ukufikelela zabucala isilungisi akumenzi ukuba utshintsho client.
///
/// Ibuyisela ubudala emotweni.
Umtya wonke GetAge ()
{
babuyele "Okwangoku, umatshini ekhethiweyo" + _age + "iminyaka.";
}
///
/// Ukuba imoto ayikho ezihambayo, le ndlela liphumeza kokuqalisa intshukumo. Iitsheki oboznalsya variable, imeko yesithuthi (abahambahambayo okanye hayi), yaye, kuxhomekeka kwiziphumo, isenzo / umyalezo afanelekileyo luyavezwa.
///
ize karhulumente Start ()
{
ukuba (_isMoving)
{
Console.WriteLine ( "I intshukumo sele liqalile");
}
enye
{
_isMoving = true;
Console.WriteLine ( "Ready, Cwangcisa .. Phuma! ');
}
}
///
/// Ukuba isindululo lwaqaliswa, le ndlela iyeka kuye. efanayo Le logic nkqubo njengoko kwimeko yangaphambili ingqalelo.
///
Stop yoluntu ize ()
{
ukuba (_isMoving)
{
_isMoving = amanga;
Console.WriteLine ( "Stop Machine");
}
enye
{
Console.WriteLine ( ". Imoto Imposiso ngoko ukuma ngxi, musa ukuhamba");
}
}
///
/// Kwaqaliswa jika ngasekhohlo, ukuba kukho isithuthi
///
MoveLeft yoluntu ize ()
{
ukuba (_isMoving)
{
Console.WriteLine ( "ajike ngasekhohlo zenziwa");
}
enye
{
Console.WriteLine ( ". Imposiso isithuthi ngokuhlala ukujikeleza osemqoka okwangoku ayifumaneki.");
}
}
///
/// A indlela efanayo kunye jika ngasekunene
///
MoveRight yoluntu ize ()
{
ukuba (_isMoving)
{
Console.WriteLine ( "Jika ilungelo ukuphunyezwa ngempumelelo");
}
enye
{
Console.WriteLine ( ". Igama Imoto ayikhange izakususwa ndawo Ivula ekunene nto ngalo mzuzu isenzo, akunakwenzeka ukwenza ..");
}
}
}
}
Similar articles
Trending Now