87 Shares 4562 views

Encapsulation – was ist das? Encapsulation in der Programmierung

Encapsulation – dies ist einer der drei Hauptmerkmale der objektorientierten Programmierung (OOP). Die beiden anderen – Polymorphismus und Vererbung. Zusammen bilden sie die PLO Rahmen auf, die eine Reihe von Funktionen des Schreibens Programme in verschiedenen Sprachen enthält, diese drei Prinzipien verwenden. Die objektorientierte Sprachen, die wiederum sind verpflichtet, sie strikt zu befolgen.

OOP Basics

Die objektorientierte Programmierung auf drei Säulen seiner Entstehung:

  • Polymorphismus, die Beantwortung der Frage, wie eine bestimmte Programmiersprache befasst sich mit Objekten, die eine Beziehung zueinander, in ähnlicher Weise haben.
  • Vererbung, gibt eine Antwort, wie die Förderung der Nutzung von wieder verwendbarem Code.
  • Verkapselung, das ist die Antwort auf die Frage nach der Umsetzung versteckt erfolgt und damit die Datenintegrität.

Terminologie

Encapsulation (Programmierung) – ist Zugriffsmodifikatoren zu verwenden, um Teile des Codes zu verbergen vom Endverbraucher. Unter ihm wiederum bedeutet, dass die Entwickler oder Kulturstätten.

Das Wesen des Begriffs der „Verkapselung“

Die Definition gibt an, dass durch Einkapselung alle oder einen Teil des Programmcodes gemeint versteckt. Das Wesen des Begriffs der „Verkapselung“ ist zu Zugriffsmodifikatoren manipulieren. Dies bedeutet, dass der Entwickler entscheiden, welche Eigenschaften, Methoden und Klassen werden an die Client-Klasse offen sein, und was – wird ausgeblendet.

Zugriffsmodifikatoren

Es gibt Zugriffsmodifikatoren, die unter anderem der Lage ist, manipulyarivat Kapselung (Java-Programmierung):

  • Öffentlichkeit ( „Public“ – public, open access) – Anteil sowohl die aktuellen Klassen und Objekte und zur Außenwelt;
  • privat ( „prayvat“ – privat, privat, versteckter Zugang) – geschlossen Zugang, das Wesen, von denen das genauen Gegenteil von dem vorhergehenden ist. Es ermöglicht den Zugriff nur von der aktuellen Klasse;
  • geschützt ( „protekted“ – geschützt, halb verdeckt Zugang) – Der Zugriff auf die aktuelle Klasse und seine Derivate;
  • Standard – nicht spezifiziert Zugriffsmodifikator bedeutet, dass das Feld / Methode für alle aktuellen Klassen im Paket zu sehen ist.

In C # Sprache ( "Si Sharp"), zusätzlich zu der oben (mit Ausnahme der letzten), gibt es noch Modifikatoren:

  • interner ( „intern“ – interner Zugang) – Zugänglichkeit in der aktuellen Montage, Innen-Zugang zu allen anderen Fällen;
  • interne geschützt ( „interne protekted“ – intern Protected Access) – Vereinigung von zwei Modifikatoren in einer, in dem offensichtlichen Eigenschaften der beiden von ihnen.

Die Rolle der Verkapselung

Verkapselung Mechanismus eliminiert externen Einfluss auf den Code und den Missbrauch von Daten in sie eingebettet. Dies wird durch die Kombination des Codes und der Daten in einem durchgeführt.

Objekt und Verkapselung

Kombinieren in dem Code eingebettet ist die Implementierung eines Softwaremoduls und Daten, die Programmierung wird ein Objekt bezeichnet. Das Wesen seiner Verbindung mit der Kapselung besteht darin, dass ein solches Verfahren ermöglicht, die Integrität der Operation des Mechanismus aufrechtzuerhalten und zu gewährleisten.

Der Vorteil der Verkapselung

Encapsulation – eine Möglichkeit, den Codierungsprozess zu vereinfachen. Zahlreiche Codezeilen „hinter den Kulissen“, und in der Hauptklasse Arbeit Instanzen gehen zu widersprechen.

Die Idee des Datenschutzes

Encapsulation – es ist auch ein Mechanismus, der die Idee des Datenschutzes realisiert. Programmlogik der objektorientierte Programmierung wird auf der Grundlage gebaut, was die meisten Daten werden versteckte Zugriffsmodifikator private (privat, privat) oder geschützt (geschützt) sein. Die Außenwelt, der Kunde versehentlich oder absichtlich die Implementierung eines Software-Moduls nicht beschädigt werden. Denn in der Tat ist es sehr einfach zu nicht einmal absichtlich macht, Verkapselung – das ist ein sehr gutes Prinzip.

Einkapselungseinheit

Klasse, als eine Basiseinheit der Einkapselung und beschreibt die Daten, die einen Code umfassen, die auf diesen Daten zu arbeiten vermag. Er ist auch die Grundlage für den Bau des Objekts. Letzteres wiederum ist als Beispiel dargestellt.

Auch verwendet die folgenden Begriffe:

  • Mitglieder – das ist der Code und die in der Klasse enthaltenen Daten;
  • Felder oder Instanzvariablen – die so genannten Daten, die die Klasse definiert;
  • Mitgliederfunktionen – sie enthalten den Code selbst. Member-Funktionen – ein gebräuchlicher Name. Ein Sonderfall – Methoden.

Encapsulation konkretes Beispiel

Encapsulation (Programmierung) Beispiel:

* Hinweis:

Beschreibung – eine Beschreibung der Methode / Eigenschaft / variabel, dh zu kommentieren, was passiert eigentlich im Programm. Es wird durch das Öffnen / Schließen-Tags demonstriert

Verwendung System;

Namespace OOPLibrary.Auto

{

///

/// Diese Klasse soll das Auto Aktion beschreiben ,

///

public class Auto

{

///

/// Variablen erstellt , um in sie zu schreiben, wie viele Jahre das Auto, da die äußere Einmischung in Bauträgers hält überflüssig

/// Modifikator ist privat markiert, das heißt geschlossen, privater Zugang ( sehen. Die Beschreibung oben).

///

private int _age;

///

/// A boolean (nur zwei mögliche Werte – ja oder nein), die das Fahrzeug beschreibt , ob im Moment Bewegen

/// Es sollte auch an den Endverbraucher geöffnet sein, wer auch immer er war. Daher wird diese Variable einen privaten Zugang Modifikator „prayvat“ zugewiesen

///

Private Bool _isMoving;

///

/// Dieser StringVariable soll Informationen über die Farbe des Autos enthalten. Es kann durch äußere Einflüsse verändert werden

/// weil für die Farbe Modifikator open access „public“ ausgewählt.

///

public string Farbe;

///

/// In diesem speziellen Fall gehen wir davon aus, dass der Name des Autos, kann auch geändert werden

/// einen Modifikator von öffentlichen (offener Zugang für alle, unabhängig von Klasse oder Montage) zugeordnet.

///

public string Name;

///

Öffnet /// Konstruktor der Klasse, und alle Eigenschaften des exprimierten variabel und setzen ein wenig früher, bekommen ihre Werte

///

public Auto ()

{

_age = 5;

_isMoving = false;

Color = "Purple";

Name = "Skoda Octavia";

}

///

/// Das Verfahren realisiert einen Rückgabewert des Auto Alters. Warum ist das notwendig?

/// privaten Zugriffsmodifizierer nicht machen es möglich , dass die ClientÄnderungen.

///

/// Gibt das Alter des Autos.

public string GetAge ()

{

„Im Moment wird die ausgewählte Maschine“ return + _age + „Jahre.“;

}

///

/// Wenn das Fahrzeug nicht bewegt, implementiert diese Methode den Beginn der Bewegung. Checks variable oboznalsya, der Zustand des Fahrzeugs (Fahr oder nicht), und je nach den Ergebnissen, die entsprechende Aktion / Meldung angezeigt.

///

public void Start ()

{

if (_isMoving)

{

Console.WriteLine ( „Die Bewegung hat bereits begonnen“);

}

sonst

{

_isMoving = true;

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

}

}

///

/// Wenn die Bewegung ausgelöst wurde, ist diese Methode stoppt ihn. Die gleiche Programmlogik wie im vorherigen Fall betrachtet.

///

public void Stop ()

{

if (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "Stop Machine");

}

sonst

{

Console.WriteLine ( "Fehler Auto und so still stehen, bewegen sich nicht");

}

}

///

/// Umgesetzt Linkskurve, wenn ein Fahrzeug

///

public void moveleft ()

{

if (_isMoving)

{

Console.WriteLine ( „biegen Sie fertig sind links“);

}

sonst

{

Console.WriteLine ( „Fehler Fahrzeug steht Rotationsfunktion ist derzeit nicht verfügbar.“);

}

}

///

/// Ein ähnliches Verfahren mit dem Rechtsabbiegen

///

public void MoveRight- ()

{

if (_isMoving)

{

Console.WriteLine ( „Biegen Sie rechts wurde erfolgreich umgesetzt“);

}

sonst

{

Console.WriteLine ( „Das Auto Fehler hat sich nicht bewegt von der Stelle rechts Drehen es im Moment wird die Aktion, ist es unmöglich zu erfüllen ..“);

}

}

}

}