OrdinadorsProgramació

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

Hi ha modificadors d'accés, que, entre altres coses, és capaç d'encapsulació manipulyarivat (programació Java):

  • 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.

També s'utilitza la següent terminologia:

  • 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

 

 

 

 

Newest

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