573 Shares 6574 views

Encapsulation – qu'est-ce? Encapsulation dans la programmation

Encapsulation – c'est l' une des trois principales caractéristiques de la programmation orientée objet (POO). Les deux autres – polymorphisme et héritage. Ensemble, ils constituent le cadre de l'OLP qui prévoit une gamme de caractéristiques des programmes d'écriture dans différentes langues, l'utilisation de ces trois principes. Les langages orientés objet, à leur tour, sont obligés de les suivre strictement.

POO Basics

la programmation orientée objet sur trois piliers de sa création:

  • Polymorphisme, répondant à la question de savoir comment un langage de programmation avec des objets qui ont une relation avec l'autre, de la même manière.
  • L'héritage, ce qui donne une réponse, comment est la stimulation de l'utilisation du code réutilisable.
  • Encapsulation, qui est la réponse à la question de cacher la mise en œuvre a lieu, et donc l'intégrité des données.

terminologie

Encapsulation (programmation) – est d'utiliser des modificateurs d'accès afin de dissimuler des morceaux de code de l'utilisateur final. Dessous, à son tour, signifie que les sites de développeurs ou du patrimoine.

L'essence du concept de « encapsulation »

La définition précise que par encapsulation signifiait cacher tout ou partie du code de programme. L'essence du concept de « encapsulation » est de manipuler les modificateurs d'accès. Cela signifie que le développeur peut décider quelles propriétés, méthodes et classes sera ouvert à la classe client, et ce – sont cachés.

modificateurs d'accès

Il y a des modificateurs d'accès, qui, entre autres, est capable d'encapsulation manipulyarivat (programmation Java):

  • public ( « public » – public, l'accès ouvert) – partager à la fois les classes actuelles et des objets, et le monde extérieur;
  • privé ( « prayvat » – un accès privé, privé, caché) – l'accès fermé, dont l'essence est complètement à l'opposé de la précédente. Il offre un accès uniquement de la classe actuelle;
  • protégé ( « protekted » – protégé, l'accès à demi caché) – L'accès à la classe actuelle et ses dérivés;
  • par défaut – modificateur d'accès non spécifiée signifie que le champ / méthode peut être vu pour toutes les classes actuelles dans le paquet.

En langage C # ( « Si Sharp »), en plus de ce qui précède (sauf le dernier), il y a des modificateurs encore:

  • interne ( « interne » – un accès interne) – l'accessibilité dans l'ensemble actuel, un accès intérieur à tous les autres cas;
  • interne protégé ( « protekted interne » – L'accès interne protégé) – union de deux modificateurs dans l'une des propriétés où se manifestent des deux.

Le rôle de l'encapsulation

mécanisme d'encapsulation élimine l'influence extérieure sur le code et l'utilisation abusive des données intégrées en elle. Ceci est accompli en combinant le code et les données en un seul.

Objet et encapsulation

La combinaison de la mise en œuvre d'un module logiciel et des données intégrées dans le code, la programmation est appelée un objet. L'essence de sa liaison avec l'encapsulation est qu'une telle méthode permet de maintenir et d'assurer l'intégrité du fonctionnement du mécanisme.

L'avantage de l'encapsulation

Encapsulation – un moyen de simplifier le processus de codage. De nombreuses lignes de code sont « dans les coulisses », et dans le travail principal de classe va opposer les instances.

L'idée de la protection des données

Encapsulation – il est aussi un mécanisme qui réalise l'idée de la protection des données. la programmation orientée objet logique du programme est construit sur la base de ce que la plupart des données seront modificateur d'accès caché privé (privé, privé) ou protégé (protégé). Le monde extérieur, le client accidentellement ou délibérément de ne pas endommager la mise en œuvre d'un module logiciel. Parce qu'en fait, il le rend très facile à même pas sur le but, l'encapsulation – c'est un très bon principe.

unité d'encapsulation

Classe, comme unité de base de l'encapsulation et décrit les données comprennent un code, qui est capable de fonctionner sur ces données. Il est également la base pour la construction de l'objet. Ce dernier, à son tour, est présenté comme une instance.

Également utilisé la terminologie suivante:

  • membres – ce qui est le code et les données incluses dans la classe;
  • champs ou variables d'instance – les données soi-disant qui définit la classe;
  • fonctions membres – ils contiennent le code lui-même. Les fonctions membres – un nom commun. Un cas particulier – méthodes.

Encapsulation exemple précis

Encapsulation (programmation) exemple:

* Note:

Description – une description de la méthode / propriété / variable, ce commentant ce qui se passe réellement dans le programme. Il est démontré au moyen de balises d'ouverture / fermeture

l' utilisation du système;

espace de noms OOPLibrary.Auto

{

///

/// Cette classe a pour but de décrire l'action de la voiture

///

Auto public class

{

///

/// variables créées afin d' y écrire, combien d'années la voiture, puisque l'ingérence extérieure dans le promoteur immobilier considère superflu

/// modificateur est marqué accès privé, à savoir fermée, privé (voir. La description cidessus).

///

int _AGE privé;

///

/// A booléens (seulement deux valeurs possibles – oui ou non), qui indique si le véhicule se déplace au moment

/// Il devrait également être ouvert à l'utilisateur final, quel qu'il soit. Par conséquent , cette variable est affectée d' un modificateur d'accès privé « prayvat »

///

bool privé _isMoving;

///

/// Cette variable de chaîne doit contenir des informations sur la couleur de la voiture. Il peut être modifié par des influences externes

/// parce que pour le modificateur de couleur sélectionné l' accès ouvert « public ».

///

Couleur de la chaîne publique;

///

/// Dans ce cas particulier, nous supposons que le nom de la voiture, aussi, peut être modifié

/// attribué un modificateur de public (accès ouvert à tous, sans distinction de classe ou d' assemblage).

///

Nom de chaîne publique;

///

/// Ouvre le constructeur de la classe, et toutes les propriétés de la variable exprimée et mettre un peu plus tôt, obtenir leurs valeurs

///

Auto () publique

{

_AGE = 5;

_isMoving = false;

Color = "Purple";

Nom = "Skoda Octavia";

}

///

/// La méthode réalise une valeur de retour de l'âge de l' automobile. Pourquoi estce nécessaire?

/// modificateur d'accès privé ne permet pas les changements du client.

///

/// Retourne l'âge de la voiture.

chaîne publique getAge ()

{

retour "Pour le moment, la machine sélectionnée" + _AGE + "années.";

}

///

/// Si la voiture ne bouge pas, cette méthode met en oeuvre le début du mouvement. Les chèques oboznalsya variables, l'état du véhicule (voyage ou non), et, en fonction des résultats, l'action / message approprié est affiché.

///

public void Start ()

{

if (_isMoving)

{

Console.WriteLine ( « Le mouvement a déjà commencé »);

}

d' autre

{

_isMoving = true;

Console.WriteLine ( "Ready, Set .. Décrocher le !");

}

}

///

/// Si la motion a été lancée, cette méthode l'arrête. La même logique de programme que dans le cas précédent considéré.

///

Arrêt public void ()

{

if (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "Stop Machine");

}

d' autre

{

Console.WriteLine ( «voiture d'erreur et se tenir si encore, ne se déplacent pas »);

}

}

///

/// Mis en œuvre à gauche, s'il y a un véhicule

///

Moveleft public void ()

{

if (_isMoving)

{

Console.WriteLine ( « tourner à gauche sont fait »);

}

d' autre

{

Console.WriteLine ( «véhicule d'erreur est fonction de rotation fixe est pas disponible actuellement. »);

}

}

///

/// Un procédé similaire avec le virage à droite

///

MoveRight public void ()

{

if (_isMoving)

{

Console.WriteLine ( « Tournez à droite a été mis en œuvre avec succès »);

}

d' autre

{

Console.WriteLine ( «Erreur La voiture n'a pas bougé de place en tournant à droite , il est au moment de l'action, il est impossible d'effectuer .. »);

}

}

}

}