¿Por qué se necesita la encapsulación en la programación orientada a objetos de Java? ¿Qué es la encapsulación?
Concepto: La llamada encapsulación consiste en abstraer las características esenciales de las cosas definiendo una clase y agregando control de acceso a los atributos y métodos de la clase.
Esto significa:
La encapsulación consiste en definir una clase y luego agregar modificadores de control de acceso (público, privado,
protegido, derechos de acceso al paquete predeterminados) a los atributos (variables miembro) y métodos de la clase. , de modo que los atributos de la clase Y los métodos sean visibles fuera de la clase si quieren ser visibles y ocultos si no quieren ser visibles.
Así, a través del método de encapsulación, se abstraen las características esenciales de las cosas.
Explicación adicional de lo anterior:
¿Qué es la abstracción? Por ejemplo, tomando a los humanos como ejemplo, la encapsulación es un medio. La clase definida a través de la encapsulación y la entidad (objeto) de una persona en realidad son una abstracción. Solo hay una persona en nuestra realidad (Objeto), los seres humanos son solo. una cosa conceptual, que los humanos hemos resumido por nosotros mismos. Sabemos cómo son las personas, por eso sabemos que las personas que encajan en esta apariencia se llaman personas. El cerebro humano siempre se usa para clasificar cosas, por lo que aparece el concepto de seres humanos. luego encontramos que cada persona tiene ojos, nariz y boca (atributos), puede comer (métodos), etc., etc., esta es la característica esencial del ser humano, y luego tenemos que programar, seres humanos. No es suficiente. para que el concepto simplemente aparezca en tu mente, debe reflejarse en el código. Si quieres reflejarlo en el código, es decir, definir una clase, debes usar encapsulación.
¿Por qué deberíamos añadir control de acceso?
En primer lugar, algunas cosas son muy críticas y confidenciales y no deseamos que se utilicen, cambien ni se acceda a ellas de manera casual.
En segundo lugar, tal vez esto no sea un secreto crítico, y acceder a él y cambiarlo no importa, sin embargo, porque algunos atributos y métodos son irrelevantes e inútiles para el mundo exterior, pero para mí, es necesario. para la clase, porque puedo usarlos en mi propia clase en este momento, ocultarlos del mundo exterior. La ventaja es que si estos contenidos innecesarios también están expuestos al mundo exterior, cuando los use A veces, el usuario estará. confundido, porque esta cosa es inútil para él, pero se puede llamar y acceder a ella, y él no lo sabe y es inútil. Sin embargo, si está oculta y no es visible desde el exterior, entonces será muy claro, porque. De esta manera, siempre que los atributos y métodos estén expuestos al mundo exterior, serán útiles. Piénselo, entre las clases de la biblioteca de clases JDK, como la clase String, cuál de las propiedades y métodos expuestos. ¿El mundo exterior es inútil? Esta también es una buena práctica y norma de programación.
Dicho esto, mi comprensión es realmente limitada. El pensamiento orientado a objetos no se limita a un determinado lenguaje. Por favor, experimente con atención. Es posible que lo que dije no sea del todo correcto. . entender.
Acabo de encontrar una frase en Internet. No la dije, pero creo que es bastante buena. Puedes entenderla con atención:
La encapsulación es lo que la gente usa al resolver. problemas en el mundo real Para simplificar el problema, se adopta un método para el objeto de investigación, una tecnología de protección de la información.