Ordinadors, Programació
L'encapsulació - Què és això? La encapsulació en la programació
L'encapsulació - aquesta és una de les tres característiques principals de la programació orientada a objectes (POO). Els altres dos - polimorfisme i l'herència. Junts formen el marc de l'OAP, que estableix una sèrie de característiques de l'escriptura de programes en diferents idiomes, l'ús d'aquests tres principis. llenguatges orientats a objectes, al seu torn, estan obligats a seguir estrictament ells.
Conceptes bàsics de la POO
Programació orientada a objectes en tres pilars de la seva creació:
- Polimorfisme, respondre a la pregunta de com un llenguatge de programació en particular s'ocupa dels objectes que tenen una relació entre si, d'una manera similar.
- Herència, donant una resposta, com és l'estimulació de la utilització de codi reutilitzable.
- Encapsulació, que és la resposta a la pregunta d'ocultar l'aplicació es porta a terme, de manera que la integritat de les dades.
terminologia
Encapsulació (programació) - és l'ús de modificadors d'accés per tal d'ocultar parts de codi de l'usuari final. A sota d'ella, al seu torn, vol dir que els llocs de desenvolupadors o patrimonials.
L'essència del concepte de "encapsulació"
La definició especifica que mitjançant encapsulació significava ocultar tot o part del codi del programa. L'essència del concepte de "encapsulació" és manipular modificadors d'accés. Això vol dir que el desenvolupador pot decidir quines propietats, mètodes i classes estarà oberta a la classe de client, i el que - estan ocults.
modificadors d'accés
- pública ( "públic" - pública, l'accés obert) - comparteixen tant les classes i objectes actuals, i amb el món exterior;
- privada ( "prayvat" - ,, accés privat oculta privada) - va tancar l'accés, l'essència del que és totalment el contrari de l'anterior. Proporciona accés només de la classe actual;
- protegida ( "protekted" - protegit, l'accés semioculta) - Accés a la classe actual i els seus derivats;
- per defecte - modificador d'accés no especificat vol dir que el camp / mètode pot ser vist per totes les classes actuals en el paquet.
En el llenguatge C # ( "Si Sharp"), a més de l'anterior (excepte l'últim), encara hi ha modificadors:
- interna ( "interna" - accés intern) - accessibilitat en el conjunt actual, accés interior a tots els altres casos;
- interna protegida ( "protekted intern" - Accés intern protegit) - unió de dos modificadors en un en què les propietats manifestos de tots dos.
El paper d'encapsulació
mecanisme d'encapsulació elimina la influència externa sobre el codi i el mal ús de les dades incorporades en el mateix. Això s'aconsegueix mitjançant la combinació del codi i les dades en una sola.
Objecte i encapsulació
La combinació de la implementació d'un mòdul de programari i les dades incorporades en el codi, la programació es diu un objecte. L'essència de la seva connexió amb la encapsulació és que un procediment d'aquest tipus permet mantenir i assegurar la integritat de l'operació del mecanisme.
L'avantatge de la encapsulació
L'encapsulació - una manera de simplificar el procés de codificació. Nombroses línies de codi són "darrere d'escena", i en el treball de la classe principal es van a instàncies d'objecte.
La idea de protecció de dades
La encapsulació - és també un mecanisme que dóna compte de la idea de protecció de dades. la lògica del programa de programació orientada a objectes es construeix sobre la base del que la majoria de les dades es modificador d'accés ocult privat (privat, privat) o protegit (protegit). El món exterior, el client accidental o deliberadament no farà malbé la implementació d'un mòdul de programari. Perquè, de fet, fa que sigui molt fàcil ni tan sols a propòsit, encapsulació - aquest és un molt bon començament.
unitat d'encapsulació
Class, com a unitat bàsica d'encapsulació i descriu les dades comprèn un codi, que és capaç d'operar en aquestes dades. Ell és també la base per a la construcció de l'objecte. Aquest últim, al seu torn, es presenta com un exemple.
- els membres - aquest és el codi i les dades incloses en la classe;
- camps o variables d'instància - els anomenats dades que defineix la classe;
- funcions membre - contenen el codi en si. Les funcions membre - un nom comú. Un cas especial - mètodes.
Encapsulació exemple específic
L'encapsulació (programació) exemple:
* Nota:
Descripció - una descripció del mètode / propietat / variable, és a dir en comentar sobre el que realment passa al programa. Es demostra per mitjà d'etiquetes d'obertura / tancament
using System;
OOPLibrary.Auto espai de noms
{
///
/// Aquesta classe està destinat a descriure l'acció del cotxe
///
Acte classe pública
{
///
/// variables creades per tal d'escriure-hi, quants anys el cotxe, ja que la interferència externa en el promotor considera supèrflua
/// modificador està marcat privat, és a dir, tancada, d'accés privat (veure. La descripció anterior).
///
_age int privat;
///
/// un valor booleà (només dos valors possibles - Sí o No), que descriu si el vehicle s'està movent en el moment
/// També ha d'estar oberta per a l'usuari final, qui vulgui que fos. Per tant, aquesta variable se li assigna un modificador d'accés privat "prayvat"
///
_isMoving bool privat;
///
/// Aquesta variable de cadena ha de contenir informació sobre el color del cotxe. Es pot canviar per influències externes
/// perquè per al modificador de color seleccionat de lliure accés "públic".
///
Color de la cadena pública;
///
/// En aquest cas particular, se suposa que el nom del cotxe, també, es pot canviar
/// assignat un modificador de públic (accés obert per a tothom, independentment de la seva classe o acoblament).
///
Nom cadena pública;
///
/// Obre el constructor de la classe, i totes les propietats de la variable expressada i fixar una mica més d'hora, obtenir els seus valors
///
Acte públic ()
{
_age = 5;
_isMoving = false;
Color = "Purple";
Name = "Skoda Octavia";
}
///
/// El mètode es dóna compte d'un valor de retorn de l'edat d'automòbils. Per què és necessari?
/// modificador d'accés privat no fan possible que els canvis del client.
///
/// Retorna l'edat del cotxe.
public string GetAge ()
{
tornar "De moment, l'equip seleccionat" + + "_age anys.";
}
///
/// Si el vehicle no està en moviment, aquest mètode implementa l'inici del moviment. Els xecs oboznalsya variable, l'estat del vehicle (viatjant o no), i, depenent dels resultats, es mostra l'acció / missatge apropiat.
///
public void Inici ()
{
si (_isMoving)
{
Console.WriteLine ( "El moviment ja s'ha iniciat");
}
un altre
{
_isMoving = true;
Console.WriteLine ( "Ready, Set .. Anar fora!");
}
}
///
/// Si es va iniciar el moviment, aquest mètode li ho impedeix. La mateixa lògica del programa com en el cas anterior, ja considerada.
///
Public void stop ()
{
si (_isMoving)
{
_isMoving = false;
Console.WriteLine ( "parada de la màquina");
}
un altre
{
Console.WriteLine ( "cotxe d'error i així s'atura, no es mogui");
}
}
///
/// Es va posar en pràctica gir a l'esquerra, si hi ha un vehicle
///
MoverIzquierda public void ()
{
si (_isMoving)
{
Console.WriteLine ( "giri a l'esquerra es fan");
}
un altre
{
Console.WriteLine ( "vehicle d'error és funció de rotació estacionari no està disponible actualment.");
}
}
///
/// Un mètode similar amb el gir a la dreta
///
MoverDerecha public void ()
{
si (_isMoving)
{
Console.WriteLine ( "girar a la dreta es va aplicar amb èxit");
}
un altre
{
Console.WriteLine ( "Error El cotxe no s'ha mogut des del punt girant a la dreta es en el moment de l'acció, és impossible dur a terme ..");
}
}
}
}
Similar articles
Trending Now