KompyutaProgramu

Encapsulation - ni kitu gani? Encapsulation katika programu

Encapsulation - hii ni moja ya sifa kuu tatu za kitu-oriented programu (OOP). wengine wawili - polymorphism na urithi. Pamoja nao kufanya up PLO mfumo ambayo kinaelezea mbalimbali ya sifa za programu kuandika katika lugha mbalimbali, kwa kutumia kanuni hizi tatu. Lugha kitu-oriented, kwa upande wake, wana wajibu wa madhubuti kufuata yao.

OOP Misingi

Kitu-oriented programu nguzo tatu za viumbe wake:

  • Polymorphism, kujibu swali la jinsi hasa lugha ya programu inahusika na vitu kwamba kuwa na uhusiano na kila mmoja, kwa njia ya sawa.
  • Urithi, kutoa jibu, jinsi ni ya kusisimua ya matumizi ya kanuni reusable.
  • Encapsulation, ambayo ni jibu la swali ya kuficha utekelezaji unafanyika, na hivyo uadilifu data.

istilahi

Encapsulation (programu) - ni kutumia huduma vivumishi ili kuficha vipande vya code kutoka mtumiaji wa mwisho. Chini yake, kwa upande wake, ina maana developer au maeneo ya urithi.

kiini cha dhana ya "encapsulation"

ufafanuzi bayana kwamba kwa encapsulation maana mafichoni au sehemu ya kanuni ya mpango. kiini cha dhana ya "encapsulation" ni kuendesha huduma modifiers. Hii ina maana kwamba developer unaweza kuamua ni mali, mbinu, na madarasa itakuwa wazi kwa mteja ya darasa, na nini - ni siri.

upatikanaji vivumishi

Kuna upatikanaji vivumishi, ambayo pamoja na mambo mengine, uwezo wa manipulyarivat encapsulation (Java programu):

  • umma ( "Umma" - umma, upatikanaji wa wazi) - kushiriki madarasa wote sasa na vitu, na kwa dunia ya nje,
  • binafsi ( "prayvat" - binafsi, binafsi, upatikanaji siri) - imefungwa kupata, kiini cha ambayo ni kinyume kabisa ya awali. Ni hutoa huduma tu kutoka darasa ya sasa;
  • ulinzi ( "protekted" - salama, nusu ya siri upatikanaji) - Upatikanaji wa darasa sasa na aina zake;
  • default - isiyojulikana upatikanaji modifier ina maana kwamba uwanja / mbinu inaweza kuonekana kwa madaraja yote ya sasa katika mfuko.

Katika C # lugha ( "Si Sharp"), zaidi ya hapo juu (isipokuwa ya mwisho), kuna bado vivumishi:

  • ndani ( "ndani" - upatikanaji wa ndani) - upatikanaji katika mkutano wa sasa, upatikanaji ndani ya kesi nyingine zote;
  • ndani ya ulinzi ( "ndani protekted" - ndani Protected Access) - muungano wa vivumishi viwili katika moja ambayo dhahiri tabia za wote wawili.

nafasi ya encapsulation

encapsulation utaratibu hupunguza athari za nje kwa kanuni na matumizi mabaya ya data iliyoingia ndani yake. Hii inakamilishwa kwa kuchanganya kanuni na data katika moja.

Kitu na encapsulation

Kuchanganya utekelezaji wa Moduli programu na data iliyoingia katika kanuni, programu inaitwa kitu. kiini cha uhusiano wake na encapsulation ni kwamba njia hiyo inaruhusu kudumisha na kuhakikisha uadilifu wa kazi wa utaratibu.

faida ya encapsulation

Encapsulation - njia ya kurahisisha mchakato encoding. mistari mbalimbali ya kanuni ni "nyuma ya pazia", na katika kazi kuu ya darasa ni kwenda kwa kitu matukio.

wazo la ulinzi wa data

Encapsulation - ni pia utaratibu ambao anatambua wazo la ulinzi wa data. Programu mantiki kitu-oriented programu ni kujengwa kwa misingi ya kile wengi data itakuwa siri upatikanaji modifier binafsi (private, binafsi) au ulinzi (ulinzi). dunia ya nje, mteja ajali au kwa makusudi si uharibifu utekelezaji wa Moduli programu. Kwa sababu kwa kweli inafanya kuwa rahisi sana kwa hata kwa makusudi, encapsulation - hii ni kanuni nzuri sana.

encapsulation kitengo

Darasa, kama kitengo muhimu cha encapsulation na inaelezea data inajumuisha code, ambayo ni uwezo wa kufanya kazi na data hizi. Yeye pia ni msingi wa ujenzi wa kitu. mwisho, kwa upande wake, zimetolewa kama mfano.

Pia hutumika maneno yafuatayo:

  • Wanachama - hii ni kanuni na data pamoja na katika darasa;
  • mashamba au mfano vigezo - kinachojulikana data kwamba amefafanua darasa;
  • kazi mwanachama - zina kanuni yenyewe. kazi Mwanachama - jina la kawaida. kesi maalum - mbinu.

mfano encapsulation maalum

Encapsulation (programu) mfano:

* Kumbuka:

Maelezo - Maelezo ya njia / mali / variable, yaani kutoa maoni juu ya nini hasa kinachotokea katika mpango. Ni alionyesha kwa njia ya ufunguzi / tags kufunga

kutumia Mfumo;

namespace OOPLibrary.Auto

{

///

/// darasa hiki kinalenga kuelezea kitendo gari

///

darasa umma Auto

{

///

/// vigezo iliyoundwa kwa ajili ya kuandika ndani yake, jinsi miaka mingi ya gari, kwa vile kuingiliwa nje katika developer mali inazingatia superfluous

/// modifier ni alama binafsi, yaani kufungwa, upatikanaji faragha (kuona. Maelezo zaidi).

///

binafsi int _age;

///

/// bulin (mbili tu inawezekana maadili - ndiyo au hapana), ambayo inaeleza kama gari ni kusonga kwa sasa

/// Ni lazima pia kuwa wazi kwa mtumiaji wa mwisho, kila mtu alikuwa. Kwa hiyo variable hii ni kwa ajili ya binafsi upatikanaji modifier "prayvat"

///

binafsi bool _isMoving;

///

/// Hii variable kamba lazima iwe na taarifa kuhusu rangi ya gari. Inaweza kubadilishwa na hamasa ya nje

/// sababu kwa rangi modifier kuchaguliwa kupata wazi "umma".

///

kamba ya umma Rangi,

///

/// Katika kesi hii, sisi kudhani kwamba jina la gari, pia, inaweza kubadilishwa

/// kupewa modifier wananchi (upatikanaji wazi kwa ajili ya wote, bila kujali darasa au mkutano).

///

umma Jina kamba,

///

/// Itafungua darasa kuujenga, na huduma zote za variable walionyesha na kuweka mapema kidogo, kupata viwango vyake

///

umma Auto ()

{

_age = 5;

_isMoving = uongo;

Color = "Purple";

Jina = "Skoda Octavia";

}

///

/// njia anatambua thamani ya kurudi kwa umri auto. Kwa nini hii ni muhimu?

/// upatikanaji binafsi modifier haina uwezekano wa mabadiliko ya mteja.

///

/// Hurejesha umri wa gari.

kamba ya umma GetAge ()

{

kurudi "Kwa sasa, mashine ya kuchaguliwa" + _age + "miaka.";

}

///

/// Kama gari ni si kusonga, njia hii kutekeleza kuanza kwa harakati. Hundi variable oboznalsya, hali ya gari (kusafiri au la), na, kulingana na matokeo, sahihi hatua / ujumbe ni kuonyeshwa.

///

utupu umma kuanza ()

{

ikiwa (_isMoving)

{

Console.WriteLine ( "harakati tayari kuanza");

}

mwingine

{

_isMoving = kweli;

Console.WriteLine ( "Tayari, Set .. Toka kwenye!");

}

}

///

/// Kama mwendo ulianzishwa, njia hii vituo yake. huo mpango mantiki kama katika kesi ya awali kuzingatiwa.

///

umma utupu Stop ()

{

ikiwa (_isMoving)

{

_isMoving = uongo;

Console.WriteLine ( "Stop Machine");

}

mwingine

{

Console.WriteLine ( ". Kosa gari na hivyo kusimama bado, si hoja");

}

}

///

/// Kutekelezwa upande wa kushoto, kama kuna gari

///

umma utupu MoveLeft ()

{

ikiwa (_isMoving)

{

Console.WriteLine ( "upande wa kushoto ni kufanyika");

}

mwingine

{

Console.WriteLine ( ". Kosa gari ni stationary mzunguko kipengele haipatikani kwa sasa.");

}

}

///

/// njia kama hiyo na upande wa kulia

///

umma utupu MoveRight ()

{

ikiwa (_isMoving)

{

Console.WriteLine ( "Pinda kulia ilitekelezwa kwa mafanikio,");

}

mwingine

{

Console.WriteLine ( ". Hitilafu gari hana walihamia kutoka doa Kuwasha haki ni wakati hatua, ni vigumu kufanya ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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