19.7. Encapsulación: objetos

Página 68

19.7 Encapsulación: Objetos

La encapsulación es uno de los cuatro principios principales del paradigma de la programación orientada a objetos (OOP), junto con la herencia, la polimorfía y la abstracción. Es una técnica que implica restringir el acceso directo a algunos componentes de un objeto y proporcionar métodos (funciones) para manipular los valores de esos componentes.

A menudo se hace referencia a la encapsulación como el acto de empaquetar los datos (variables) y los métodos (funciones) que operan con esos datos en una sola unidad, que es el objeto. En otras palabras, la encapsulación es la idea de ocultar el estado interno de un objeto y requerir que la interacción con ese objeto se realice a través de sus métodos.

¿Por qué es importante la encapsulación?

La encapsulación es importante por varias razones. Primero, ayuda a mantener la integridad de los datos dentro de un objeto al garantizar que no se puedan cambiar de manera inapropiada o inesperada. Esto se hace ocultando los atributos de un objeto y proporcionando métodos públicos para acceder y modificar esos atributos.

En segundo lugar, la encapsulación contribuye a la modularidad del código. Debido a que los detalles de implementación de un objeto están ocultos, otros objetos no necesitan comprender ni preocuparse por la forma en que ese objeto funciona internamente. Esto hace que el código sea más manejable, más escalable y menos propenso a errores.

Por último, la encapsulación facilita la reutilización del código. Debido a que un objeto encapsula sus datos y métodos, se puede reutilizar fácilmente en diferentes partes de un programa o en diferentes programas.

¿Cómo funciona la encapsulación?

La encapsulación se implementa de manera un poco diferente en diferentes lenguajes de programación, pero la idea básica es la misma. En un lenguaje de programación orientado a objetos como Java o C#, defines una clase para crear un objeto. La clase incluye variables para almacenar datos (llamadas campos o atributos) y funciones para operar con esos datos (llamadas métodos).

De forma predeterminada, todos los campos y métodos de una clase son accesibles para cualquier código que pueda acceder al objeto. Sin embargo, puede restringir el acceso a algunos campos y métodos utilizando modificadores de acceso. En Java y C#, por ejemplo, puedes utilizar los modificadores 'privado', 'protegido' y 'público' para controlar el acceso a los campos y métodos de una clase.

Solo se puede acceder a un campo o método 'privado' dentro de la misma clase. Se puede acceder a un campo o método 'protegido' dentro de la misma clase y por subclases. Se puede acceder a un campo o método 'público' mediante cualquier código que pueda acceder al objeto.

Para proporcionar acceso controlado a campos privados, puede utilizar los métodos 'get' y 'set'. Un método 'get' devuelve el valor de un campo privado y un método 'set' le permite cambiar el valor de un campo privado. Esto le permite controlar exactamente cómo y cuándo se puede acceder y modificar los campos privados.

Ejemplo de encapsulación

Para ilustrar cómo funciona la encapsulación, consideremos un ejemplo sencillo. Supongamos que tenemos una clase 'Persona' con dos campos privados: 'nombre' y 'edad'.

clase Persona {
    nombre de cadena privada;
    entero privado;
}

Dado que 'nombre' y 'edad' son privados, no se puede acceder a ellos directamente desde fuera de la clase 'Persona'. Para permitir el acceso controlado a estos campos, podemos agregar métodos 'get' y 'set' para cada uno de ellos:

clase Persona {
    nombre de cadena privada;
    entero privado;

    cadena pública getName() {
        nombre de retorno;
    }

    setName público vacío (String nuevoNombre) {
        nombre = nuevoNombre;
    }

    público int getAge() {
        edad de retorno;
    }

    public void setAge(int nuevaEdad) {
        si (nuevaEra >= 0) {
            edad = nuevaEdad;
        }
    }
}

Aquí, 'getName' y 'getAge' son métodos 'get' que devuelven los valores de 'nombre' y 'edad', respectivamente. 'setName' y 'setAge' son métodos 'set' que le permiten cambiar los valores de 'name' y 'age' respectivamente. Tenga en cuenta que 'setAge' comprueba si la nueva edad es mayor o igual a cero antes de cambiar 'age'. Este es un ejemplo de cómo se puede utilizar la encapsulación para mantener la integridad de los datos.

Conclusión

En resumen, la encapsulación es un principio fundamental de la programación orientada a objetos que ayuda a mantener la integridad de los datos, promover la modularidad del código y facilitar la reutilización del código. Para ello, envuelve los datos y los métodos que operan con esos datos en objetos y restringe el acceso directo a algunos componentes de esos objetos.

Ahora responde el ejercicio sobre el contenido:

¿Cuál de los siguientes es un principio fundamental de la programación orientada a objetos que ayuda a mantener la integridad de los datos, promover la modularidad del código y facilitar la reutilización del código?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

6919.8. Encapsulación: encapsulación

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.