DatorerProgrammering

Inkapsling - vad är detta? Inkapsling i programmering

Inkapsling - detta är en av de tre huvuddragen i objektorienterad programmering (OOP). De andra två - polymorfism och arv. Tillsammans utgör de PLO ram som fastställs en rad funktioner för att skriva program på olika språk, med hjälp av dessa tre principer. Objektorienterade språk, i sin tur, är skyldiga att strikt följa dem.

OOP Basics

Objektorienterad programmering på tre pelare i sitt skapande:

  • Polymorfism svara på frågan om hur en viss programmeringsspråk behandlar objekt som har en relation med varandra, på ett liknande sätt.
  • Arv, vilket ger ett svar, hur är att stimulera användningen av återanvändbar kod.
  • Inkapsling, vilket är svaret på frågan om att dölja genomförandet sker, och därmed dataintegritet.

terminologi

Inkapsling (programmering) - är att använda åtkomst modifierare för att dölja delar av koden från slutanvändaren. Under det i sin tur innebär att utvecklare eller fornlämningar.

Kärnan i begreppet "inkapsling"

Definitionen anger att genom inkapsling innebar dölja hela eller delar av programkoden. Kärnan i begreppet "inkapsling" är att manipulera åtkomst modifierare. Detta innebär att utvecklare kan bestämma vilka egenskaper, metoder och klasser kommer att vara öppen för kunden klass, och vad - är dolda.

åtkomst modifierare

Det finns tillgång modifierare, som bland annat är i stånd att manipulyarivat inkapsling (Java-programmering):

  • allmänheten ( "Public" - offentligt, open access) - dela både nuvarande klasser och objekt och till omvärlden;
  • privata ( "prayvat" - privat, privat, dold tillgång) - stängt tillgång, essensen av som är helt motsatsen till den föregående. Det ger tillgång endast från den aktuella klassen;
  • skyddad ( "protekted" - skyddad, halv-dolda åtkomst) - Tillgång till den aktuella klassen och dess derivat;
  • default - ospecificerad tillgång modifier innebär att fältet / metoden kan ses för alla aktuella klasserna i paketet.

I C # språk ( "Si Sharp"), förutom de ovan (utom den sista), finns det fortfarande Modifierare:

  • internt ( "intern" - intern åtkomst) - tillgänglighet i den aktuella enheten, inomhus tillgång till alla andra fall;
  • inre skyddad ( "intern protekted" - intern Protected Access) - förening av två modifierare i en i vilken uppenbara egenskaper hos dem båda.

Rollen för inkapsling

inkapsling mekanism eliminerar yttre påverkan på koden och missbruk av uppgifter inbäddade i det. Detta åstadkoms genom att kombinera kod och data i ett.

Object och inkapsling

Kombinera genomförandet av en mjukvarumodul och data inbäddade i koden, är programmering kallas ett objekt. Kärnan i dess förbindelse med inkapslingen är att en sådan metod gör det möjligt att upprätthålla och säkerställa integriteten av driften av mekanismen.

Fördelen av inkapsling

Inkapsling - ett sätt att förenkla kodningen. Ett stort antal rader kod är "bakom kulisserna", och i huvudklassen arbetet kommer att invända instanser.

Idén om dataskydd

Inkapsling - det är också en mekanism som förverkligar idén om dataskydd. Programlogik objektorienterad programmering är byggd på grundval av vad de flesta av data kommer att vara dold tillgång modifier privata (privat, privat) eller skyddad (skyddad). Omvärlden kunden av misstag eller avsiktligt inte skadar genomförandet av en mjukvarumodul. För i själva verket gör det mycket enkelt att inte ens med flit, inkapsling - detta är en mycket bra princip.

inkapslingsenhet

Klass, som en grundläggande enhet av inkapsling och beskriver data innefattar en kod, som har förmåga att verka på dessa data. Han är också grunden för byggandet av objektet. Den senare, i sin tur, presenteras som en instans.

Används också följande terminologi:

  • medlemmar - detta är koden och data som ingår i klassen;
  • fält eller instansvariabler - de så kallade data som definierar klass;
  • medlemsfunktioner - de innehåller själva koden. Medlemsfunktioner - ett gemensamt namn. Ett specialfall - metoder.

Inkapsling specifikt exempel

Inkapsling (programmering) exempel:

* Anmärkning:

Beskrivning - En beskrivning av metoden / fastighet / variabel, dvs kommentera vad som faktiskt händer i programmet. Det kan påvisas med hjälp av öppning / stängning taggar

using System;

namespace OOPLibrary.Auto

{

///

/// Denna klass är avsedd att beskriva bilens åtgärder

///

public class Auto

{

///

/// variabler som skapats för att skriva på det, hur många år i bilen, eftersom den externa störningar i fastigheten utvecklaren anser överflödig

/// modifierare är märkt privat, dvs. stängd, privat tillgång (se. Beskrivningen ovan).

///

private int _age;

///

/// En boolean (endast två möjliga värden - ja eller nej), som beskriver huruvida fordonet rör sig i det ögonblick

/// Det bör också vara öppna för slutanvändaren, vem han var. Därför denna variabel tilldelas ett privat tillgång modifier "prayvat"

///

privat bool _isMoving;

///

/// Denna strängvariabel ska innehålla information om färg på bilen. Det kan ändras genom yttre påverkan

/// grund för färg medel valt open access "allmänheten".

///

public string Färg;

///

/// I detta fall antar vi att namnet på bilen också kan ändras

/// delad en modifierare av allmänheten (öppen tillgång för alla, oavsett klass eller montering).

///

public String namn;

///

/// Öppnar klassen konstruktören och alla egenskaper hos den uttryckta variabeln och sätta lite tidigare, få deras värden

///

offentliga Auto ()

{

_age = 5;

_isMoving = false;

Color = "Purple";

Name = "Skoda Octavia";

}

///

/// Metoden realiserar en returvärde av auto ålder. Varför är det nödvändigt?

/// privat tillgång modifier inte gör det möjligt för klient förändringar.

///

/// Returnerar ålder av bilen.

public string GetAge ()

{

återvända "Just nu den valda maskinen" + _age + "år."

}

///

/// Om bilen inte rör sig, implementerar denna metod i början av rörelsen. Kontroller variabel oboznalsya, tillståndet för fordonet (resa eller inte), och beroende på resultaten, är lämplig åtgärd / meddelande.

///

public void start ()

{

if (_isMoving)

{

Console.WriteLine ( "Rörelsen har redan börjat");

}

annars

{

_isMoving = true;

Console.WriteLine ( "Klara, färdiga .. gå off!");

}

}

///

/// Om förslaget initierades, stoppar denna metod honom. Samma program logik som i det tidigare fallet beaktas.

///

public void Stopp ()

{

if (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "Stop Machine");

}

annars

{

Console.WriteLine ( "Fel bil och så stå still, inte flytta");

}

}

///

/// Genomfört vänstersväng, om det finns ett fordon

///

public void MoveLeft ()

{

if (_isMoving)

{

Console.WriteLine ( "sväng vänster är klar");

}

annars

{

Console.WriteLine ( "Fel fordonet står stilla rotation funktionen är för närvarande inte tillgänglig.");

}

}

///

/// En liknande metod med högersväng

///

public void MoveRight ()

{

if (_isMoving)

{

Console.WriteLine ( "Sväng höger fördes framgångsrikt");

}

annars

{

Console.WriteLine ( "Fel Bilen har inte flyttat från platsen Turning rätt det är just nu åtgärden, är det omöjligt att utföra ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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