ComputereProgrammering

Indkapsling - hvad er det? Indkapsling i programmering

Indkapsling - dette er en af de tre vigtigste elementer i objektorienteret programmering (OOP). De to andre - polymorfi og arv. Sammen udgør de PLO ramme, som fastlægger en række funktioner for at skrive programmer på forskellige sprog, ved hjælp af disse tre principper. Objektorienterede sprog, til gengæld er forpligtet til nøje at følge dem.

PK Basics

Objekt-orienteret programmering på tre søjler dets oprettelse:

  • Polymorfi, der besvarer spørgsmålet om, hvordan en bestemt programmeringssprog beskæftiger sig med objekter, der har et forhold til hinanden, på en lignende måde.
  • Arv, hvilket giver et svar, hvor er stimulering af brugen af genanvendelige kode.
  • Indkapsling, som er svaret på spørgsmålet om at skjule implementeringen finder sted, og dermed dataintegritet.

terminologi

Indkapsling (programmering) - er at bruge adgang modifikatorer for at skjule dele af koden fra slutbrugeren. Under det til gengæld betyder de udvikler eller kulturarv.

Essensen af begrebet "indkapsling"

Definitionen præciserer, at ved indkapsling betød at skjule hele eller dele af programkoden. Essensen af begrebet "indkapsling" er at manipulere adgang modifikatorer. Det betyder, at bygherren kan beslutte, hvilke egenskaber, metoder og klasser vil være åbent for klient-klassen, og hvad - er skjult.

adgang modifikatorer

Der er adgang modifikatorer, som blandt andet er i stand til manipulyarivat indkapsling (Java programmering):

  • offentlige ( "Offentlig" - offentlig, åben adgang) - deler både de nuværende klasser og objekter, og til omverdenen;
  • privat ( "prayvat" - privat, privat, skjult adgang) - lukket adgang, essensen af, som er fuldstændig det modsatte af den foregående. Det giver adgang kun fra den aktuelle klasse;
  • beskyttet ( "protekted" - beskyttet, halvt skjult adgang) - Adgang til den aktuelle klasse og dets derivater;
  • standard - uspecificeret adgang modifier betyder, at feltet / metode kan ses for alle de nuværende klasser i pakken.

I C # sprog ( "Si Sharp"), i tillæg til ovenstående (undtagen den sidste), er der stadig modifikatorer:

  • interne ( "interne" - intern adgang) - tilgængelighed i den aktuelle samling, indendørs adgang til alle andre tilfælde;
  • internt beskyttet ( "intern protekted" - intern Protected Access) - forening af to modifikatorer i én, hvor åbenbare egenskaber ved dem begge.

Rolle indkapsling

indkapsling mekanisme eliminerer ekstern indflydelse på koden og misbrug af oplysninger indlejret i det. Dette opnås ved at kombinere den kode og data i ét.

Objekt og indkapsling

Ved at kombinere gennemførelsen af et software-modul og data indlejret i koden, er programmering kaldes et objekt. Essensen af dens forbindelse med indkapsling er, at en sådan fremgangsmåde gør det muligt at fastholde og sikre integriteten af operationen af mekanismen.

Fordelen ved indkapsling

Indkapsling - en måde at forenkle kodningsprocessen. Talrige linjer kode er "bag kulisserne", og i de vigtigste klassen arbejde kommer til at gøre indsigelse tilfælde.

Ideen om databeskyttelse

Indkapsling - det er også en mekanisme, der realiserer ideen om databeskyttelse. Program logik objektorienteret programmering er bygget på grundlag af, hvad de fleste af de data vil være skjult adgang modifier privat (privat, privat) eller beskyttet (beskyttet). Omverdenen, at kunden ved et uheld eller med vilje vil ikke skade gennemførelsen af et software-modul. Fordi i virkeligheden det gør det meget let at ikke engang med vilje, indkapsling - dette er en meget god princip.

indkapsling enhed

Klasse, som en basisenhed af indkapsling og beskriver data omfatter en kode, der er i stand til at operere på disse data. Han er også grundlaget for konstruktionen af objektet. Sidstnævnte på sin side er vist som et eksempel.

bruges også følgende terminologi:

  • medlemmer - det er den kode og de data, der indgår i klassen;
  • marker eller instansvariabler - de såkaldte data, der definerer klasse;
  • medlem funktioner - de indeholder selve koden. Medlem funktioner - et fælles navn. Et særligt tilfælde - metoder.

Indkapsling specifikt eksempel

Indkapsling (programmering) eksempel:

* Bemærk:

beskrivelse - en beskrivelse af den metode / ejendom / variabel, dvs. kommentere hvad der faktisk sker i programmet. Det påvises ved hjælp af åbne / lukke tags

using System;

namespace OOPLibrary.Auto

{

///

/// Denne klasse er beregnet til at beskrive bilens handling

///

public class Auto

{

///

/// variable, der oprettes med henblik på at skrive i det, hvor mange år bilen, da den eksterne indblanding i bygherren anser overflødig

/// modifikator er markeret privat, dvs. lukket, privat adgang (se. Beskrivelsen ovenfor).

///

privat int _age;

///

/// A boolske (kun to mulige værdier - ja eller nej), som beskriver, om køretøjet er i bevægelse i øjeblikket

/// Det bør også være åben for slutbrugeren, hvem han var. Derfor denne variabel er tildelt en privat adgang modifier "prayvat"

///

privat bool _isMoving;

///

/// Denne streng variabel skal indeholde oplysninger om farven på bilen. Det kan ændres ved ydre påvirkninger

/// fordi for farven middel valgt åben adgang "offentligheden".

///

offentlig snor Farve;

///

/// I dette særlige tilfælde, antager vi, at navnet på bilen, også kan ændres

/// tildelt en modifier af offentlig (åben adgang for alle, uanset klasse eller samling).

///

offentlig snor Navn;

///

/// Åbner klassens konstruktør, og alle ejendomme i det udtrykte variabel og sætte lidt tidligere, få deres værdier

///

offentlige Auto ()

{

_age = 5;

_isMoving = false;

Farve = "Purple";

Name = "Skoda Octavia";

}

///

/// Metoden realiserer en returværdi af auto alder. Hvorfor er det nødvendigt?

/// privat adgang modifier ikke gør det muligt for kunden ændringer.

///

/// Returnerer alder af bilen.

offentlig snor HentAlder ()

{

vende tilbage "I øjeblikket den valgte maskine" + _age + "år.";

}

///

/// Hvis bilen ikke er i bevægelse, denne metode implementerer starten af bevægelsen. Kontrol variabel oboznalsya, tilstanden af køretøjet (rejser eller ikke), og, afhængigt af resultaterne, er det passende foranstaltninger / meddelelse.

///

public void Start ()

{

hvis (_isMoving)

{

Console.WriteLine ( "Bevægelsen er allerede i gang");

}

andet

{

_isMoving = true;

Console.WriteLine ( "Klar, parat .. Gå væk!");

}

}

///

/// Hvis forslaget blev indledt, denne metode stopper ham. Det samme program logik som i det foregående tilfælde overvejes.

///

public void Stop ()

{

hvis (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "Stop Machine");

}

andet

{

Console.WriteLine ( "Fejl bil og så stå stille, ikke bevæger sig");

}

}

///

/// Implementeret venstresving, hvis der er et køretøj

///

public void MoveLeft ()

{

hvis (_isMoving)

{

Console.WriteLine ( "drej til venstre er færdig");

}

andet

{

Console.WriteLine ( "Fejl køretøjet holder stille rotation funktion er i øjeblikket ikke tilgængelig.");

}

}

///

/// En lignende fremgangsmåde med højresving

///

public void MoveRight ()

{

hvis (_isMoving)

{

Console.WriteLine ( "Drej til højre blev gennemført med succes");

}

andet

{

Console.WriteLine ( "Fejl Bilen har ikke flyttet fra stedet Turning højre er det i det øjeblik handlingen, er det umuligt at udføre ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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