638 Shares 4643 views

La encapsulación – ¿qué es esto? La encapsulación en la programación

La encapsulación – esta es una de las tres características principales de la programación orientada a objetos (POO). Los otros dos – polimorfismo y la herencia. Juntos forman el marco de la OLP, que establece una serie de características de la escritura de programas en diferentes idiomas, el uso de estos tres principios. lenguajes orientados a objetos, a su vez, están obligados a seguir estrictamente ellos.

Conceptos básicos de la POO

Programación orientada a objetos en tres pilares de su creación:

  • Polimorfismo, responder a la pregunta de cómo un lenguaje de programación en particular se ocupa de los objetos que tienen una relación entre sí, de una manera similar.
  • Herencia, dando una respuesta, cómo es la estimulación de la utilización de código reutilizable.
  • Encapsulación, que es la respuesta a la pregunta de ocultar la aplicación se lleva a cabo, por lo que la integridad de los datos.

terminología

Encapsulación (programación) – es el uso de modificadores de acceso con el fin de ocultar partes de código del usuario final. Debajo de ella, a su vez, significa que los sitios de desarrolladores o patrimoniales.

La esencia del concepto de "encapsulación"

La definición especifica que mediante encapsulación significaba ocultar todo o parte del código del programa. La esencia del concepto de "encapsulación" es manipular modificadores de acceso. Esto significa que el desarrollador puede decidir qué propiedades, métodos y clases estará abierta a la clase de cliente, y lo que – están ocultos.

modificadores de acceso

Hay modificadores de acceso, que, entre otras cosas, es capaz de encapsulación manipulyarivat (programación Java):

  • pública ( "público" – pública, el acceso abierto) – comparten tanto las clases y objetos actuales, y con el mundo exterior;
  • privada ( "prayvat" -,, acceso privado oculta privada) – cerró el acceso, la esencia de lo que es totalmente lo contrario de la anterior. Proporciona acceso sólo de la clase actual;
  • protegida ( "protekted" – protegido, el acceso semioculta) – Acceso a la clase actual y sus derivados;
  • por defecto – modificador de acceso no especificado significa que el campo / método puede ser visto por todas las clases actuales en el paquete.

En el lenguaje C # ( "Si Sharp"), además de lo anterior (excepto el último), todavía hay modificadores:

  • interna ( "interna" – acceso interno) – accesibilidad en el conjunto actual, acceso interior a todos los demás casos;
  • interna protegida ( "protekted interno" – Acceso interno protegido) – unión de dos modificadores en uno en el que las propiedades manifiestos de ambos.

El papel de encapsulación

mecanismo de encapsulación elimina la influencia externa sobre el código y el mal uso de los datos incorporados en el mismo. Esto se logra mediante la combinación del código y los datos en una sola.

Objeto y encapsulación

La combinación de la implementación de un módulo de software y los datos incorporados en el código, la programación se llama un objeto. La esencia de su conexión con la encapsulación es que un procedimiento de este tipo permite mantener y asegurar la integridad de la operación del mecanismo.

La ventaja de la encapsulación

La encapsulación – una manera de simplificar el proceso de codificación. Numerosas líneas de código son "detrás de escena", y en el trabajo de la clase principal se van a instancias de objeto.

La idea de protección de datos

La encapsulación – es también un mecanismo que da cuenta de la idea de protección de datos. la lógica del programa de programación orientada a objetos se construye sobre la base de lo que la mayoría de los datos se modificador de acceso oculto privado (privado, privado) o protegido (protegido). El mundo exterior, el cliente accidental o deliberadamente no dañará la implementación de un módulo de software. Porque, de hecho, hace que sea muy fácil ni siquiera a propósito, encapsulación – este es un muy buen principio.

unidad de encapsulación

Class, como unidad básica de encapsulación y describe los datos comprende un código, que es capaz de operar en estos datos. Él es también la base para la construcción del objeto. Este último, a su vez, se presenta como un ejemplo.

También se utiliza la siguiente terminología:

  • los miembros – este es el código y los datos incluidos en la clase;
  • campos o variables de instancia – los llamados datos que define la clase;
  • funciones miembro – contienen el código en sí. Las funciones miembro – un nombre común. Un caso especial – métodos.

Encapsulación ejemplo específico

La encapsulación (programación) ejemplo:

* Nota:

Descripción – una descripción del método / propiedad / variable, es decir al comentar sobre lo que realmente sucede en el programa. Se demuestra por medio de etiquetas de apertura / cierre

using System;

OOPLibrary.Auto espacio de nombres

{

///

/// Esta clase está destinado a describir la acción del coche

///

Auto clase pública

{

///

/// variables creadas con el fin de escribir en ella, cuántos años el coche, ya que la interferencia externa en el promotor considera superflua

/// modificador está marcado privado, es decir, cerrada, de acceso privado (ver. La descripción anterior).

///

_age int privado;

///

/// un valor booleano (sólo dos valores posibles – Sí o No), que describe si el vehículo se está moviendo en el momento

/// También debe estar abierta para el usuario final, quien quiera que fuese. Por lo tanto, esta variable se le asigna un modificador de acceso privado "prayvat"

///

_isMoving bool privado;

///

/// Esta variable de cadena debe contener información sobre el color del coche. Se puede cambiar por influencias externas

/// porque para el modificador de color seleccionado de libre acceso "público".

///

Color de la cadena pública;

///

/// En este caso particular, se supone que el nombre del coche, también, se puede cambiar

/// asignado un modificador de público (acceso abierto para todos, independientemente de su clase o ensamblaje).

///

Nombre cadena pública;

///

/// Abre el constructor de la clase, y todas las propiedades de la variable expresada y fijar un poco más temprano, obtener sus valores

///

Auto pública ()

{

_age = 5;

_isMoving = false;

Color = "Purple";

Name = "Skoda Octavia";

}

///

/// El método se da cuenta de un valor de retorno de la edad de automóviles. ¿Por qué es necesario?

/// modificador de acceso privado no hacen posible que los cambios del cliente.

///

/// Devuelve la edad del coche.

public string GetAge ()

{

volver "Por el momento, el equipo seleccionado" + + "_age años.";

}

///

/// Si el vehículo no está en movimiento, este método implementa el inicio del movimiento. Los cheques oboznalsya variable, el estado del vehículo (viajando o no), y, dependiendo de los resultados, se muestra la acción / mensaje apropiado.

///

public void Inicio ()

{

si (_isMoving)

{

Console.WriteLine ( "El movimiento ya se ha iniciado");

}

otro

{

_isMoving = true;

Console.WriteLine ( "Ready, Set .. Ir fuera!");

}

}

///

/// Si se inició el movimiento, este método se lo impide. La misma lógica del programa como en el caso anterior, ya considerada.

///

Public void stop ()

{

si (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "parada de la máquina");

}

otro

{

Console.WriteLine ( "coche de error y así se detiene, no se mueva");

}

}

///

/// Se puso en práctica giro a la izquierda, si hay un vehículo

///

MoverIzquierda public void ()

{

si (_isMoving)

{

Console.WriteLine ( "gire a la izquierda se hacen");

}

otro

{

Console.WriteLine ( "vehículo de error es función de rotación estacionario no está disponible actualmente.");

}

}

///

/// Un método similar con el giro a la derecha

///

MoverDerecha public void ()

{

si (_isMoving)

{

Console.WriteLine ( "girar a la derecha se aplicó con éxito");

}

otro

{

Console.WriteLine ( "Error El coche no se ha movido desde el punto girando a la derecha se en el momento de la acción, es imposible llevar a cabo ..");

}

}

}

}