ComputersProgrammering

Encapsulation - wat is dit? Inkapseling in de programmering

Encapsulation - dit is een van de drie belangrijkste kenmerken van object-georiënteerd programmeren (OOP). De andere twee - polymorfisme en erfenis. Samen vormen zij de PLO kader dat voorziet in een reeks van functies van schrijven van programma's in verschillende talen, met behulp van deze drie principes. Objectgeoriënteerde talen, op hun beurt, zijn verplicht om ze te strikt op te volgen.

OOP Basics

Object-georiënteerd programmeren op drie pijlers van haar oprichting:

  • Polymorfisme dat voldoet aan de vraag hoe een bepaalde programmeertaal betrekking op voorwerpen die een relatie met elkaar hebben, op soortgelijke wijze.
  • Erfenis, het geven van een antwoord, hoe is het stimuleren van het gebruik van herbruikbare code.
  • Inkapseling, dat is het antwoord op de vraag van het verbergen van de uitvoering plaatsvindt, en dus de data-integriteit.

terminologie

Encapsulation (programmeren) - is toegang modifiers gebruiken om stukken code verbergen de eindgebruiker. Daaronder, op zijn beurt, betekent dat de ontwikkelaar of erfgoed.

De essentie van het begrip "inkapseling"

De definitie specificeert dat door inkapseling bedoeld verbergen geheel of gedeeltelijk de programmacode. De essentie van het begrip "inkapseling" is om de toegang modifiers manipuleren. Dit betekent dat de ontwikkelaar kan beslissen welke eigenschappen, methoden en klassen zal openstaan voor de client-klasse, en wat - zijn verborgen.

toegang modifiers

Er zijn toegang modifiers, die, onder andere, in staat manipulyarivat inkapseling (Java-programmeertaal) is:

  • publiek ( "Public" - publiek, open access) - aandeel van zowel de huidige klassen en objecten, en voor de buitenwereld;
  • private ( "prayvat" - een eigen, private, verborgen toegang) - gesloten toegang, waarvan de essentie is het tegenovergestelde van de vorige. Het geeft alleen toegang van de huidige klasse;
  • beschermde ( "protekted" - beschermd, half verborgen toegang) - Toegang tot de huidige klasse en zijn derivaten;
  • Standaard - niet gespecificeerd toegang modifier betekent dat het veld / werkwijze zichtbaar voor alle huidige klassen in het pakket.

In C # taal ( "Si Sharp"), naast de hierboven beschreven (behalve de laatste), zijn er nog Modifiers:

  • interne ( "interne" - interne toegang) - toegankelijkheid in de huidige samenstelling, indoor toegang tot alle andere gevallen;
  • intern beveiligd ( "interne protekted" - interne Protected Access) - vereniging van twee modifiers in een waarin manifest eigenschappen van beiden.

De rol van de inkapseling

inkapseling mechanisme maakt externe invloed op de code en misbruik van gegevens ingesloten. Dit wordt bereikt door het combineren van de code en de gegevens in een.

Object en inkapseling

Het combineren van de implementatie van een softwaremodule en data ingebed in de code, wordt de programmering van een object met de naam. De essentie van de verbinding met de inkapseling is dat een dergelijke methode wordt behouden en de integriteit van de werking van het mechanisme.

Het voordeel van inkapseling

Inkapseling - een manier om de codering te vereenvoudigen. Talrijke regels code zijn "achter de schermen", en in de hoofdklasse werk gaat om instanties bezwaar.

Het idee van de bescherming van gegevens

Encapsulation - het is ook een mechanisme dat het idee van de bescherming van gegevens realiseert. Programmalogica-object georiënteerd programmeren is gebouwd op basis van wat de meeste van de gegevens worden verborgen toegang modifier private (privé, particulier) of beschermd (beschermde). De buitenwereld, de klant per ongeluk of opzettelijk zal niet de implementatie van een software module beschadigen. Want in feite maakt het zeer eenvoudig om zelfs niet op doel, inkapseling - dit is een zeer goed principe.

inkapseleenheid

Klasse, als basiseenheid van inkapseling en beschrijft de gegevens een code, die in staat is om op deze gegevens omvat. Hij is ook de basis voor de bouw van het object. Laatstgenoemde op zijn beurt wordt gepresenteerd als een voorbeeld.

Ook gebruikt de volgende terminologie:

  • leden - dit is de code en het is opgenomen in de klasse data;
  • velden of instantievariabelen - het zogenaamde data dat de klasse definieert;
  • lid functies - ze bevatten de code zelf. functies leden - een veel voorkomende naam. Een speciaal geval - methoden.

Inkapseling specifiek voorbeeld

Encapsulation (programmeren) voorbeeld:

* Opmerking:

beschrijving - een beschrijving van de methode / onroerend goed / variabel, dat wil zeggen commentaar op wat er werkelijk gebeurt in het programma. Wordt aangetoond door middel van het openen / sluiten markeringen

using System;

namespace OOPLibrary.Auto

{

///

/// Deze klasse is bedoeld om het optreden van de auto's te beschrijven

///

public class Auto

{

///

/// variabelen die gecreëerd zijn om te schrijven in het, hoeveel jaar de auto, omdat de externe inmenging in de projectontwikkelaar beschouwt overbodig

/// modificator wordt gemarkeerd als privé, d.w.z. gesloten eigen toegang (zie. De bovenstaande beschrijving).

///

private int _age;

///

/// Een boolean (slechts twee mogelijke waarden - ja of nee), die beschrijft of het voertuig rijdt momenteel

/// Het moet ook openstaan voor de eindgebruiker, wie hij was. Daarom is deze variabele wordt toegewezen aan een eigen toegang modifier "prayvat"

///

private bool _isMoving;

///

/// Deze reeks variabele moet informatie over de kleur van de auto bevatten. Het kan worden veranderd door invloeden

/// omdat voor de kleur modifier geselecteerde open access "publiek".

///

public string Color;

///

/// In dit specifieke geval, gaan we ervan uit dat de naam van de auto, ook kan worden veranderd

/// toegewezen aan een modifier van het publiek (open toegang voor iedereen, ongeacht klasse of assemblage).

///

public string Naam;

///

/// Opent de klas constructeur, en alle eigenschappen van het tot expressie variabele en stel een beetje vroeger, krijgen hun waarden

///

public Auto ()

{

_age = 5;

_isMoving = false;

Color = "Purple";

Name = "Skoda Octavia";

}

///

/// De methode realiseert een return waarde van de auto tijdperk. Waarom is dit nodig?

/// eigen toegang modifier maakt het niet mogelijk is voor de klant wijzigingen aan te brengen.

///

/// Geeft de leeftijd van de auto.

public string GetAge ()

{

terug te keren "Op dit moment, de geselecteerde machine" + _age + "jaar.";

}

///

/// Als de auto stilstaat, deze werkwijze implementeert het begin van de beweging. Controles variabele oboznalsya, de toestand van het voertuig (op reis of niet), en, afhankelijk van de resultaten, wordt de juiste actie / melding.

///

public void Start ()

{

if (_isMoving)

{

Console.WriteLine ( "De beweging is al begonnen");

}

anders

{

_isMoving = true;

Console.WriteLine ( "Ready, Set .. Ga off!");

}

}

///

/// Als de motie werd gestart, deze methode houdt hem tegen. Dezelfde programmalogica als in het vorige geval beschouwd.

///

public void Stop ()

{

if (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "Stop Machine");

}

anders

{

Console.WriteLine ( "Error auto en zo stil, niet bewegen");

}

}

///

/// Uitgevoerd linksaf, als er een voertuig

///

public void MoveLeft ()

{

if (_isMoving)

{

Console.WriteLine ( "links worden gedaan");

}

anders

{

Console.WriteLine ( "Fout stilstaand voertuig rotatiefunctie is momenteel niet beschikbaar.");

}

}

///

/// Een soortgelijke methode rechtsaf

///

public void MoveRight ()

{

if (_isMoving)

{

Console.WriteLine ( "Sla rechtsaf werd succesvol geïmplementeerd");

}

anders

{

Console.WriteLine ( "Fout De auto is niet verplaatst van de plek Rechtsaf het is op het moment dat de actie, is het onmogelijk om te presteren is ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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