KompjûtersProgramming

Encapsulation - wat is dit? Encapsulation yn Programming

Encapsulation - dat is ien fan de trije wichtichste skaaimerken fan it foarwerp-rjochte programmearring (oop). De oare twa - polymorphism en erfenis. Tegearre meitsje se de PLO ramt, dat jouwt in skala oan mooglikheden fan skriuwen programma yn ferskillende talen, mei help fan dizze trije útgongspunten. Object-rjochte talen, yn beurt, binne ferplichte om strikt folgje harren.

oop Basics

Object-rjochte programmearring op trije pylders fan syn skepping:

  • Polymorphism, it beäntwurdzjen fan de fraach fan hoe't in bepaalde programmeartaal dwaande hâldt mei foarwerpen dy't hawwe in relaasje mei inoar, yn in fergelykbere wize.
  • Erfskip, it jaan fan in andert, hoe is it stimulearjen fan it brûken fan Werbrûkber koade.
  • Encapsulation, dat is it antwurd op 'e fraach fan ûnderdûkers de útfiering fynt plak, en dus de gegevens yntegriteit.

terminology

Encapsulation (programmearring) - is te brûken tagong modifikaasjetoets is om te ferbergjen stikjes koade út 'e ein brûker. Ûnder him, yn beurt, betsjut de ûntwikkelders of erfguod siden.

De essinsje fan it konsept "encapsulation"

De definysje spesifisearret dat troch encapsulation betsjutte hiding alle of in part fan it programma koade. De essinsje fan it begryp "encapsulation" is te manipulate tagong modifikaasjetoets is. Dat betsjut dat de ûntwikkelders kin beslute hokker eigenskippen, metoaden, en klassen sille wêze iepen foar de klant-klasse, en wat - wurde ferburgen.

tagong modifikaasjetoets

Der binne tagong modifikaasjetoets is, dy't, ûnder oare, is by steat fan manipulyarivat encapsulation (Java programmearring):

  • publyk ( "Publike" - publyk, iepen tagong) - share sawol de hjoeddeiske klassen en foarwerpen, en ta de bûtenwrâld;
  • privee ( "prayvat" - privee, privee, ferburgen tagong) - sletten tagong, de essinsje dêrfan is folslein it tsjinoerstelde fan it foarige. It jout tagong allinne út 'e hjoeddeistige klasse;
  • beskerme ( "protekted" - beskerme, heal-ferburgen tagong) - Tagong ta de hjoeddeiske klasse en syn derivaten;
  • standert - net spesifisearre tagong modifikaasjekaai betsjut dat it fjild / metoade kin sjoen wurde foar alle aktuele klassen yn it pakket.

Yn C # taal ( "Si Sharp"), neist it boppesteande (útsein de lêste), binne der noch modifikaasjetoets is:

  • ynterne ( "ynterne" - ynterne tagong) - tagonklikens yn de hjoeddeiske gearkomste, oerdekt tagong ta alle oare gefallen;
  • ynterne beskerme ( "ynterne protekted" - ynterne Beskerme Access) - union fan twa modifikaasjetoets is yn ien wêryn manifest eigenskippen fan beide.

De rol fan encapsulation

encapsulation meganisme elimineert eksterne ynfloed op de koade en misbrûk fan gegevens ynsletten yn it. Dit wurdt berikt troch de kombinaasje de koade en gegevens yn ien.

Foarwerp en encapsulation

Kombinearjen de útfiering fan in software module en gegevens ynsletten yn 'e koade, programmearring hjit in foarwerp. De essinsje fan syn ferbining mei de encapsulation is dat sa'n metoade kinne om te behâlden en soargje foar de yntegriteit fan de wurking fan it meganisme.

It foardiel fan encapsulation

Encapsulation - in manier te ferienfâldigjen de kodearring proses. Tal fan linen of koade binne "achter de skermen", en yn 'e wichtichste klasse wurk giet om beswier te meitsjen eksimplaren.

It idee fan 'e gegevens beskerming

Encapsulation - it is ek in meganisme dat beseft it idee fan gegevens beskerming. Program logic object-oriented programmearring is boud op basis fan wat de measte gegevens sille ferburgen tagong modifikaasjekaai privee (privee, privee) of beskerme (befeilige). De bûtenwrâld, de klant tafallich of opsetsin sille net beskeadige de útfiering fan in software module. Omdat yn feite it makket it hiel maklik om sels net op doel, encapsulation - dat is in hiel goede prinsipe.

encapsulation unit

Klasse, as in basale ienheid fan encapsulation en beskriuwt de gegevens bestiet út in koade, dy't by steat is om mei te wurkjen dizze gegevens. Hy is ek de basis foar de oanlis fan it foarwerp. Dy lêste, op syn bar, wurdt presintearre as in eksimplaar.

Ek brûkten de folgjende terminology:

  • leden - dit is de koade en de gegevens opnaam yn de klasse;
  • fjilden of bygelyks fariabelen - de saneamde gegevens dy't definiearret de klasse;
  • lid funksjes - se befetsje de koade sels. Lid funksjes - in mienskiplike namme. In spesjale gefal - metoaden.

Encapsulation spesifyk foarbyld

Encapsulation (programmearring) foarbyld:

* Note:

beskriuwing - in beskriuwing fan 'e metoade / eigendom / fariabele, oftewol Taljochting op wat werklik bart yn it programma. It is bewiisd troch middel fan iepening / sluten tags

brûkende Systeem;

nammeromte OOPLibrary.Auto

{

///

/// Dat klasse is bedoeld om te beskriuwen de auto syn aksje

///

iepenbiere klasse Auto

{

///

/// fariabelen makke om te skriuwen yn har, hoefolle jierren de auto, sûnt de eksterne ynminging yn de eigendom developer achtet oerstallich

/// Modifier wurdt markearre privee, i.e. sletten, privee tagong (sjoch. De beskriuwing hjirboppe).

///

privee int _age;

///

/// In Booleaanske (mar twa mooglike wearden - yes of nee), dy't beskriuwt oft de auto mei faasje op it stuit

/// It moat ek wêze iepen oan 'e ein brûker, hwa't er wie. Dêrom dizze fariabele wurdt tawiisd in privee tagong bewurker "prayvat"

///

privee bool _isMoving;

///

/// Dat string fariabele moat befetsje ynformaasje oer de kleur fan de auto. It kin feroare wurde troch eksterne ynfloeden

/// omdat foar de kleur modifikaasjekaai selektearre iepen tagong "publyk".

///

iepenbiere string Kleur;

///

/// Yn dit bysûnder gefal, wy derfan út dat de namme fan 'e auto, te, kin feroare wurde

/// tawiisd fan in modifikaasje fan iepenbier (iepen tagong foar alle, ûnôfhinklik fan klasse of gearkomste).

///

iepenbiere string Namme;

///

/// Iepenet de klasse constructor, en alle eigenskippen fan de utere fariabele en set in bytsje earder, krije harren wearden

///

iepenbier Auto ()

{

_age = 5;

_isMoving = Net-wier;

Kleur = "Pears";

Name = "Skoda Octavia";

}

///

/// De metoade realisearret in rendemint wearde fan de auto leeftyd. Wêrom is dit nedich?

/// privee tagong bewurker net meitsje it mooglik om de klant feroarings.

///

/// Jout de leeftyd fan de auto.

iepenbiere string GetAge ()

{

return "Op it stuit, it selektearre masine" + _age + "jierren.";

}

///

/// As de auto is net beweecht, dizze metoade fiert it begjin fan 'e beweging. Sjeks fariabele oboznalsya, de betingst fan it reau (reizgje of net), en, ôfhinklik fan de resultaten, it passende aksje / berjocht wurdt werjûn.

///

iepenbiere void Start ()

{

as (_isMoving)

{

Console.WriteLine ( "De beweging is al begûn");

}

oars

{

_isMoving = true;

Console.WriteLine ( "Klaar, set .. Gean ôf!");

}

}

///

/// As de moasje wie in inisjatyf, dizze metoade stoppet him. Deselde programma logika as yn 'e foarige gefal beskôge.

///

iepenbier void Stop ()

{

as (_isMoving)

{

_isMoving = Net-wier;

Console.WriteLine ( "Stopje Machine");

}

oars

{

Console.WriteLine ( ". Error auto en sa stean stil, net bewege");

}

}

///

/// ymplemintearre linker beurt, as der in reau

///

iepenbier void MoveLeft ()

{

as (_isMoving)

{

Console.WriteLine ( "linksôf wurde dien");

}

oars

{

Console.WriteLine ( ". Flater auto is Stationary rotation eigenskip is op dit stuit net beskikber.");

}

}

///

/// In soartgelikense metoade mei de rjochter beurt

///

iepenbier void MoveRight ()

{

as (_isMoving)

{

Console.WriteLine ( "Sla rjochtsôf waard útfierd mei súkses");

}

oars

{

Console.WriteLine ( ". Flater De auto hat net ferhuze út it plak Turning rjochter is it op it stuit fan de aksje, is it ûnmooglik om te fieren ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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