TypeScript
Tutorial TypeScript: Encapsulación
TypeScript encapsulación: técnicas y ejemplos. Domina las técnicas de encapsulación en TypeScript con ejemplos prácticos y detallados.
Aprende TypeScript GRATIS y certifícateLa encapsulación es uno de los principios fundamentales de la programación orientada a objetos que busca agrupar datos y los métodos que los manipulan en una sola entidad cohesiva. En el contexto de TypeScript, la encapsulación permite definir qué aspectos de una clase son accesibles desde el exterior y cuáles son privados y no pueden ser accedidos directamente.
En TypeScript, la encapsulación se logra mediante el uso de modificadores de acceso, que son palabras clave que se colocan delante de las propiedades y métodos de una clase para especificar su visibilidad. Los tres modificadores de acceso disponibles en TypeScript son: public
, private
y protected
.
public
: Esta es la visibilidad por defecto si no se especifica ningún modificador de acceso. Las propiedades y métodos públicos son accesibles desde cualquier lugar, tanto desde dentro de la propia clase como desde instancias de la clase o clases heredadas. Por ejemplo:
class Persona {
public nombre: string;
public constructor(nombre: string) {
this.nombre = nombre;
}
public saludar(): void {
console.log(`Hola, mi nombre es ${this.nombre}`);
}
}
const persona = new Persona("Juan");
persona.saludar(); // Imprime: "Hola, mi nombre es Juan"
private
: Las propiedades y métodos marcados comoprivate
son accesibles únicamente desde dentro de la clase que los define. No se pueden acceder ni modificar desde instancias de la clase o clases heredadas. Por ejemplo:
class CuentaBancaria {
private saldo: number;
constructor(saldoInicial: number) {
this.saldo = saldoInicial;
}
public depositar(cantidad: number): void {
this.saldo += cantidad;
}
public obtenerSaldo(): number {
return this.saldo;
}
}
const cuenta = new CuentaBancaria(100);
cuenta.depositar(50); // Acceso permitido
console.log(cuenta.obtenerSaldo()); // Acceso permitido: Imprime 150
console.log(cuenta.saldo); // Acceso no permitido por que saldo es private: Error de compilación
protected
: Los miembrosprotected
son similares a losprivate
, ya que no pueden ser accedidos desde instancias de la clase. Sin embargo, a diferencia de los miembros privados, los miembros protegidos sí pueden ser accedidos desde clases heredadas. Por ejemplo:
class Animal {
protected nombre: string;
constructor(nombre: string) {
this.nombre = nombre;
}
}
class Perro extends Animal {
private raza: string;
constructor(nombre: string, raza: string) {
super(nombre);
this.raza = raza;
}
public obtenerDatos(): string {
return `Nombre: ${this.nombre}, Raza: ${this.raza}`;
}
}
const perro = new Perro("Max", "Labrador");
console.log(perro.obtenerDatos()); // Acceso permitido: Imprime "Nombre: Max, Raza: Labrador"
console.log(perro.nombre); // Acceso no permitido: Error de compilación
En resumen, la encapsulación en TypeScript permite controlar la visibilidad de los miembros de una clase, asegurando que solo sean accedidos y modificados de acuerdo con las reglas definidas por el desarrollador. Esto facilita el mantenimiento del código, ya que los detalles internos de una clase se pueden ocultar y los cambios en la implementación de una clase no afectarán el código externo que la utiliza.
Ejercicios de esta lección Encapsulación
Evalúa tus conocimientos de esta lección Encapsulación con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Funciones
Funciones de primera clase
Tipos de utilidad
Clases
OOP y CRUD en TypeScript
Tipos literales
Namespaces
Módulos
Funciones TypeScript
Encapsulación
Interfaces
Funciones puras
Variables y constantes
Funciones flecha
Funciones puras
Control de flujo
Resolución de módulos
Control de flujo
Polimorfismo
Operadores
Funciones flecha
Herencia
Clases y objetos
Clases
Operadores
Encapsulación
Herencia
Funciones
Tipos de unión e intersección
Funciones de alto orden
Inmutabilidad
Interfaces
Funciones de alto orden
Tipos de unión e intersección
Tipos genéricos
Control de flujo
Polimorfismo
Interfaces
Tipos literales
Tipos de utilidad
Tipos genéricos
Inmutabilidad
Herencia de clases
Variables y constantes
Variables y constantes
Funciones de primera clase
Introducción a TypeScript
Todas las lecciones de TypeScript
Accede a todas las lecciones de TypeScript y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A Typescript
Introducción Y Entorno
Variables Y Constantes
Sintaxis
Operadores
Sintaxis
Control De Flujo
Sintaxis
Funciones
Sintaxis
Funciones Flecha
Sintaxis
Clases Y Objetos
Programación Orientada A Objetos
Interfaces
Programación Orientada A Objetos
Encapsulación
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Inmutabilidad
Programación Funcional
Funciones Puras
Programación Funcional
Funciones De Primera Clase
Programación Funcional
Funciones De Alto Orden
Programación Funcional
Tipos Literales
Tipos De Datos Avanzados
Tipos Genéricos
Tipos De Datos Avanzados
Tipos De Unión E Intersección
Tipos De Datos Avanzados
Tipos De Utilidad
Tipos De Datos Avanzados
Módulos
Namespaces Y Módulos
Namespaces
Namespaces Y Módulos
Resolución De Módulos
Namespaces Y Módulos
Certificados de superación de TypeScript
Supera todos los ejercicios de programación del curso de TypeScript y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender el concepto de encapsulación y su importancia en la programación orientada a objetos.
- Conocer los modificadores de acceso
public
,private
yprotected
en TypeScript. - Aprender cómo utilizar los modificadores de acceso para controlar la visibilidad de las propiedades y métodos en una clase.
- Entender que las propiedades y métodos
public
son accesibles desde cualquier lugar, mientras que lasprivate
solo desde dentro de la clase y lasprotected
desde la clase y clases heredadas. - Practicar el uso de la encapsulación para ocultar los detalles internos de una clase y evitar accesos no deseados desde el exterior.
- Familiarizarse con los beneficios de la encapsulación, como el mantenimiento del código y la prevención de errores al restringir el acceso a ciertos miembros de la clase.