Komputeran, Bernameyên
Encapsulation - ev çi ye? Encapsulation di bernameyên
Encapsulation - ev yek ji sê taybetmendiyên sereke yên e bernameyên object-oriented (OOP). Ya din jî du - polymorphism û war. ew bi hev re di çarçoveya PLO ku pezê xwe ya rêzeyek taybetmendiyên bernameyên nivîskî, bi zimanên cihê, bikaranîna van sê prensîbên make up. zimanan object-oriented, li dorê, mecbûr in bi tevahî pey wan.
OOP Bingehîn
Object-sîwaneke bernameyên li ser sê stûnên xwe de:
- Polymorphism, bersiva pirsa li çawa ziman bernameyên taybetî rêkkeftinên bi tiştên ku xwedî têkiliyeke bi hev re, bi awayekî dişibe.
- Mîras, dayîna bersiva, çawa stimulasyona bikaranîna code mekûka e.
- Encapsulation, ku bersiva vê pirsê ji xwe vedişêrin pêkanîna digire cihê, û bi vî awayî yekitîya welat de.
bêjezanî
Encapsulation (bernameyên) - e ji bo bikaranîna rengdêrên access ji bo veşêre perçe code ji user dawî. Bin jî, li dora, tê wê wateyê ku pêşvebirinê an kelepûra.
Karê ku têgîna "encapsulation"
The pênase dibêje ku destê encapsulation wateya veşêrin, hemû an parçeyek ji kodên bernameyê de. Karê ku têgîna "encapsulation" e ku bi cudatî diyarkerên access. Ev tê wateya ku pêşvebirinê dikarin ku milkên, rêbazên biryarê bide, û dersên ji-class muwekîlê re vekirî be, û çi - veşartî bi.
diyarkerên access
- giştî ( "Public" - giştî, vekirî) - re hem jî ji çînên niha û alav, û bi cîhana derve;
- taybet ( "prayvat" - taybet, taybet, access veşartî) - access girtî, li ser esasa ku e bi temamî bi eksê wê ji yê berê. Ev bi tenê ji çîna niha ketina dide;
- parastin ( "protekted" - parastin, access nîv-veşartî) - Agahî ji çîna niha û jêderên wê;
- default - Guherker access dadixe, tê wê wateyê ku di warê / rêbaza dikare ji bo hemû çînên niha Di vê pakêtê de tê dîtin.
Di C # zimanê ( "Si Sharp"), ji bilî li jor de (ji bilî ya dawî), hîn jî rengdêrên heye:
- navxweyî ( "navxweyî" - access navxweyî) - grêdanê, di civînê de ji niha de, ketina hundir ji bo hemû rewşên din de;
- navxweyî, parastin ( "navxweyî protekted" - navxweyî ye, Access parastî) - yekîtiya du rengdêrên di yek in ku milkên eşkere yên her du ji wan.
De rola encapsulation
mekanîzmayeke encapsulation tasfiye destekî derve li ser koda û profîla welat bicîbûyî de di wê de. Ev yek bi yekbûneke kodê û daneyên nav yek nekiriye.
Object û encapsulation
Regezên pêkanîna a module nivîsbariyê û welat bicîbûyî de di code, bername an object kir. Karê girêdana wê ya bi encapsulation e ku ev cure rê dihêle ku ji bo parastin û misogerkirina yekitîya operasyonê de mekanîzma.
The sûdgirtina ji encapsulation
Encapsulation - awayekî sadetir pêvajoya Kodkirina. xetên hejmarek mezin ji code in "li pişt perdê", û di karê class main ku wê hêle di lêpirsînên.
Ew ramana parastina welat
Encapsulation - ev e jî divê makenîzmayeke ku pê dihese ku fikra parastina welat. mantiqa Program bernameyên-object sîwaneke li ser bingeha çi gelek daneyên wê ava Guherker access veşartî taybet (taybet, taybet) an tê parastin, (tê parastin). Cîhana derve, mişterî bi şaşitî an bi zanebûn, wê pêkanîna a module software zirarê ne. Ji ber ku di rastiyê de ev jî ew pir hêsan e, ne jî li ser armanc, encapsulation - ev prensîbeke pir baş e.
yekîneya encapsulation
Çîn, wekî yekîneya bingehîn yên encapsulation û bi navkirinê welat îmtihan a code, e ku bikaribe li ser van daneyên kar. Ew jî bingeha ji bo avakirina bireserê ye. Di dawîyê de, di dora xwe, wek nimûne pêşkêş kirin.
- endamên - vê kodê û daneyên ku di nav çîna e;
- zevî an jî guherbarên nimûne - ku bi navê Daneyên ku çîna dinasîne;
- fonksiyonên endamê - di wan de ye code xwe. fonksiyonên Member - navekî hevbeş de. A doza taybet - rêbazên.
nimûne taybet Encapsulation
Encapsulation (bernameyên) nimûne:
* Têbînî:
description - a description of rêbaza / milk / variable, ango, nirxand li ser tiştên ku di rastiyê de û di bernameyê de dibe. Ev bi wateya vebûna / tags dawî de nîşan
bikaranîna System;
OOPLibrary.Auto namespace
{
///
/// Ev çîna ye, lewma ji bo danasîna çalakiyê de di erebeyê de ye
///
Auto class giştî
{
///
/// guherbarên da tên afirandin ji bo nivîsandinê di wê de, çawa gelek sal di erebeyê de, ji ber ku destwerdana ji derve, di pêşvebirinê bi malê dibîne nepêwist
/// Guherker is taybet nîşankirin, i.e. girtî, ketina taybet (bibînin. Agahdariya li jor).
///
_age int taybet;
///
/// A boolean (tenê du nirxên gengaz - erê an jî na), ku rave dike ka ji erebeyê dimeşe niha li
/// Ev jî divê ji bo user dawiya vekirî be, her kesê ku wî bû. Ji ber vê yekê ev guherrok e rêdan a Guherker access taybet "prayvat"
///
_isMoving bool taybet;
///
/// Ev variable string divê agahiyên li ser rengê erebeyê de dihewîne. Ev dikare ji aliyê bandora ji derve hat guhertin
/// ji ber ku ji bo Guherker color ya hilbijartî vekirî "giştî".
///
giştî Color string;
///
/// Di vê mijarê de bi taybetî, em bawer dikin ku bi navê car, jî, dikare bê guhertin
/// rêdan a Guherker ya giştî (vekirî bo hemû, bêyî ku li class an civînê).
///
giştî Name string;
///
/// vedike takvim class, û hemû taybetiyên variable ziman û set a Berî demeke kurt, dest nirxên xwe
///
Auto giştî ()
{
_age = 5;
_isMoving = false;
Color = "Purple";
Name = "Skoda Octavia";
}
///
/// awayê dibîne nirxê vegera vê serdema auto de. Çima ev pêwîst e?
/// Guherker access taybet ev gengaz ji bo guhertinên muwekîlê ji make ne.
///
/// Þexsî di temenê xwe yê erebeyê.
string giştî GetAge ()
{
vegere. "Ji xwe niha, ji machine hilbijartin" + _age + "salan.";
}
///
/// Eger di erebeyê de dimeşe ne, bi vê rêbazê bi rexê xwe destpêka tevgera. Checks oboznalsya variable, rewşa wesayîta (rêwîtiyê an ne), û, li gor encamên, çalakiya / message guncaw nishan.
///
Valahîya ku raya giştî Serî ()
{
Eger (_isMoving)
{
Console.WriteLine ( "Tevgera ji niha ve dest pê kirin.");
}
din
{
_isMoving = true;
Console.WriteLine ( "Ready, Set .. Go off!");
}
}
///
/// Eger motion hate destpêkirin, vê rêbazê wî bisekine. Mantiqê li heman bernameyê weke ku di doza berê hesibandin.
///
Stop, betal giştî ()
{
Eger (_isMoving)
{
_isMoving = false;
Console.WriteLine ( "Machine Stop");
}
din
{
Console.WriteLine ( ". Car Error û da pîya, ranegihînin.");
}
}
///
/// Zêdekirin dora çepê, eger e wesayîta hene
///
MoveLeft, betal giştî ()
{
Eger (_isMoving)
{
Console.WriteLine ( "karek hişt bi kirin");
}
din
{
Console.WriteLine ( ". Wesayîta Error e feature rotation stationary niha ne amade ne.");
}
}
///
/// A rêbaza similar bi dorê mafê
///
MoveRight, betal giştî ()
{
Eger (_isMoving)
{
Console.WriteLine ( "bizivire rastê bi serkeftî hate pêkanîn.");
}
din
{
Console.WriteLine ( ". Error The car hatiye ji di cih de berê mafê ku niha li vê çalakiyê de ev nabe, lê ji bo pêkanîna e meşî ne ..");
}
}
}
}
Similar articles
Trending Now