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