1
respuesta

Reduccion en una linea de codigo

buenas tardes, consulta ¿cuando sacamos las llaves para reducir en cantidad de lineas de codigo en la llamada al servidor no estariamos quitando el encapsulamiento también de ese pedido?

Saludos.

1 respuesta

Hola Alumno, espero que estés bien.

El encapsulamiento no tiene que ver con el bloque de código, El encapsulamiento es un concepto importante en la programación orientada a objetos que se refiere a la capacidad de una clase para ocultar sus datos y métodos internos de otras partes del programa que la utilizan. En otras palabras, el encapsulamiento se refiere a la idea de "envolver" los datos y el comportamiento de una clase en una cápsula o contenedor, de modo que solo se puedan acceder a ellos a través de una interfaz pública.

El objetivo del encapsulamiento es proteger los datos y métodos internos de una clase de cambios accidentales o no autorizados desde fuera de la clase. Mejorando la seguridad de una aplicación y haciendola más fácil de mantener y actualizar.

Ejemplo:

class Persona {
    #dni; // Propiedad privada

    constructor(nombre, edad, dni) {
      this.nombre = nombre;
      this.edad = edad;
      this.#dni = dni;
    }

    // Métodos públicos
    getNombre() {
      return this.nombre;
    }

    setNombre(nuevoNombre) {
      this.nombre = nuevoNombre;
    }

    getEdad() {
      return this.edad;
    }

    setEdad(nuevaEdad) {
      this.edad = nuevaEdad;
    }

    // Métodos privados que pueden acceder a la propiedad privada
    #getDni() {
      return this.#dni;
    }

    // Método público que utiliza los métodos privados
    getInfoPersonal() {
      return `Nombre: ${this.nombre}, Edad: ${this.edad}, DNI: ${this.#getDni()}`;
    }
  }

  // Creamos una instancia de la clase Persona
  const persona = new Persona('Juan', 30, 12345678);

  // Accedemos a los métodos públicos
  console.log(persona.getNombre()); // Imprime "Juan"
  console.log(persona.getEdad());   // Imprime "30"

  // Modificamos los datos utilizando los métodos públicos
  persona.setNombre('Pedro');
  persona.setEdad(35);

  // Accedemos a la información personal utilizando un método público
  console.log(persona.getInfoPersonal()); // Imprime "Nombre: Pedro, Edad: 35, DNI: 12345678"

En este ejemplo, la propiedad #dni es privada y solo se puede acceder y modificar utilizando métodos privados dentro de la clase. Los métodos públicos getInfoPersonal, getNombre y getEdad son la única forma de acceder a los datos de la clase Persona, lo que establece una interfaz pública clara y protege los datos privados de la manipulación externa.

Si tienes alguna duda, no dejes de preguntar. ¡Estamos aquí para ayudarte!.

¡Saludos!

Si este post te ayudó, por favor marca como solucionado ✓. ¡Continúa con tus estudios!