DatamaskinerProgrammering

Innkapsling - hva er dette? Innkapsling i programmering

Innkapsling - dette er en av de tre viktigste funksjonene i objektorientert programmering (OOP). De to andre - polymorfisme og arv. Sammen utgjør de PLO rammeverk som fastsetter en rekke funksjoner for å skrive programmer i ulike språk, ved hjelp av disse tre prinsippene. Objektorienterte språk, i sin tur, er forpliktet til å strengt følge dem.

OOP Basics

Objektorientert programmering på tre pilarer av etableringen:

  • Polymorfisme, svare på spørsmålet om hvordan en bestemt programmeringsspråk avtaler med objekter som har et forhold til hverandre, på en lignende måte.
  • Arv, noe som gir et svar, hvordan er stimulering av bruken av gjenbrukbar kode.
  • Innkapsling, som er svaret på spørsmålet om å skjule gjennomføring finner sted, og dermed dataintegritet.

terminologi

Innkapsling (programmering) - er å bruke tilgangsmodifiserende midler for å skjule deler av koden fra sluttbrukeren. Under det i sin tur betyr at utbygger eller kulturminner.

Essensen av begrepet "innkapsling"

Definisjonen presiserer at ved innkapsling ment å skjule hele eller deler av programkoden. Essensen av begrepet "innkapsling" er å manipulere tilgang modifikatorer. Dette betyr at utbygger kan bestemme hvilke egenskaper, metoder og klasser vil være åpen for klient-klassen, og hva - er skjult.

tilgang modifikatorer

Det er tilgang til midler, som blant annet er i stand til manipulyarivat innkapsling (Java-programmering):

  • offentlig ( "Public" - offentlig, åpen tilgang) - dele både nåværende klasser og objekter, og til omverdenen;
  • private ( "prayvat" - privat, privat, skjult tilgang) - lukket tilgang, hvor essensen er helt motsatt av den forrige. Det gir tilgang kun fra dagens klasse;
  • beskyttet ( "protekted" - beskyttede, halvt skjult tilgang) - Tilgang til den aktuelle klassen og dets derivater;
  • Standard - uspesifisert adgang modifier betyr at feltet / metode kan ses for alle aktuelle klasser i pakken.

I C # språket ( "Si Sharp"), i tillegg til ovennevnte (unntatt den siste), er det fortsatt modifikatorer:

  • interne ( "intern" - intern tilgang) - tilgjengelighet i dagens montasje, innendørs tilgang til alle andre tilfeller;
  • innvendig beskyttet ( "indre protekted" - intern Protected Access) - foreningen av to modifiserende midler i en der manifeste egenskaper hos begge.

Rollen til innkapsling

innkapsling mekanisme eliminerer ytre påvirkning på koden og misbruk av data som er innebygd i den. Dette oppnås ved å kombinere den kode og data inn i en.

Gjenstand og innkapsling

Ved å kombinere gjennomføring av en programvaremodul og data innleiret i koden, blir programmeringen kalles en gjenstand. Essensen av sin forbindelse med innkapsling er at en slik metode gjør det mulig å opprettholde og sikre integriteten til drift av mekanismen.

Fordelen med innkapsling

Innkapsling - en måte å forenkle kodingsprosessen. Mange linjer med kode er "bak kulissene", og i hovedklassen arbeidet kommer til å protestere tilfeller.

Ideen om databeskyttelse

Innkapsling - det er også en mekanisme som realiserer ideen om databeskyttelse. Program logikk objektorientert programmering er bygget på grunnlag av hva de fleste av data vil være skjult tilgang modifier privat (privat, privat) eller beskyttet (beskyttet). Omverdenen, kunden ved et uhell eller med vilje vil ikke skade gjennomføringen av en programvaremodul. Fordi faktisk gjør det svært enkelt å ikke engang med vilje, innkapsling - dette er et veldig godt prinsipp.

innkapsling enheten

Klasse, som en grunnleggende enhet av innkapsling og beskriver data omfatter en kode, som er i stand til å operere på disse dataene. Han er også grunnlaget for bygging av objektet. Den sistnevnte, i sin tur, er presentert som et eksempel.

Brukes også følgende terminologi:

  • medlemmer - dette er koden og dataene som inngår i klassen;
  • felt eller eksempel variabler - de såkalte data som definerer klassen;
  • medlem funksjoner - de inneholder selve koden. Medlem funksjoner - en felles navn. Et spesielt tilfelle - metoder.

Innkapsling spesifikt eksempel

Innkapsling (programmering) eksempel:

* Merk:

Beskrivelse - en beskrivelse av metoden / eiendom / variabel, dvs. kommenterer hva som faktisk skjer i programmet. Det er demonstrert ved hjelp av åpning / lukking koder

bruker System;

navne OOPLibrary.Auto

{

///

/// Denne klassen er ment å beskrive bilens handling

///

public class Auto

{

///

/// variabler som er opprettet for å skrive i den, hvor mange år bilen, siden den ytre innblanding i eiendomsutvikler anser overflødig

/// modifiseringsmiddel er merket som privat, dvs. lukket, privat tilgang (se. Beskrivelsen ovenfor).

///

private int _age;

///

/// A boolean (kun to mulige verdier - ja eller nei), som beskriver hvorvidt kjøretøyet er i bevegelse i øyeblikket

/// Det bør også være åpen for sluttbrukeren, hvem han var. Derfor denne variabelen er tildelt en privat tilgang modifier "prayvat"

///

privat bool _isMoving;

///

/// Dette streng variabel bør inneholde informasjon om fargen på bilen. Det kan endres av ytre påvirkninger

/// fordi for fargen modifier valgt open access "public".

///

offentlig streng farge;

///

/// I dette tilfellet antar vi at navnet på bilen, også kan bli endret

/// tilordnet en modifikator av offentlig (åpen adgang for alle, uavhengig av klasse eller sammenstilling).

///

offentlig string Name;

///

/// Åpner klassen konstruktør, og alle egenskapene til uttrykk variabel og satt litt tidligere, får sine verdier

///

offentlig Auto ()

{

_age = 5;

_isMoving = false;

Color = "Purple";

Name = "Skoda Octavia";

}

///

/// Metoden realiserer en returverdi av auto alder. Hvorfor er dette nødvendig?

/// privat tilgang modifier ikke gjør det mulig for klienten endringer.

///

/// Returnerer alder på bilen.

public String GetAge ()

{

return "For øyeblikket er valgt machine" + _age + "år.";

}

///

/// Hvis bilen ikke er i bevegelse, implementerer denne metoden starten av bevegelsen. Sjekker variabel oboznalsya, tilstanden til kjøretøyet (reiser eller ikke), og, avhengig av resultatene er vist den nødvendige tiltak / melding.

///

public void Start ()

{

if (_isMoving)

{

Console.WriteLine ( "Bevegelsen allerede er blitt koblet");

}

annet

{

_isMoving = true;

Console.WriteLine ( "Klar, ferdig .. Gå av!");

}

}

///

/// Hvis bevegelsen er påbegynt, stanser denne metoden ham. Det samme programmet logikk som i forrige tilfelle vurderes.

///

public void Stop ()

{

if (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "Stopp Machine");

}

annet

{

Console.WriteLine ( "Feil bil og så stå stille, ikke flytte");

}

}

///

/// Gjennomført venstresving, hvis det er et kjøretøy

///

public void MoveLeft ()

{

if (_isMoving)

{

Console.WriteLine ( "ta til venstre er ferdig");

}

annet

{

Console.WriteLine ( "Feil kjøretøyet står stille rotasjon funksjonen er for tiden ikke tilgjengelig.");

}

}

///

/// En lignende metode med den høyresving

///

public void MoveRight ()

{

if (_isMoving)

{

Console.WriteLine ( "Sving til høyre ble gjennomført med hell");

}

annet

{

Console.WriteLine ( "Feil Bilen har ikke flyttet fra stedet Turning riktig det er i øyeblikket handlingen, er det umulig å utføre ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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