Volver a Interfaces y Clases
Interfaces y Clases — Leccion 4
·15 minModificadores de Acceso
public, private, protected y su uso.
public (por defecto)
Accesible desde any lugar.
typescript
class Animal {
nombre: string; // public por defecto
}
const a = new Animal();
a.nombre; // OK
private
Solo accesible dentro de la misma clase.
typescript
class Cuenta {
private saldo: number;
constructor(saldo: number) {
this.saldo = saldo;
}
// Solo se puede acceder via métodos
depositar(monto: number): void {
this.saldo += monto; // OK: dentro de la clase
}
}
const c = new Cuenta(100);
// c.saldo; // Error: private
c.depositar(50); // OK
protected
Accesible en la clase y subclases.
typescript
class Animal {
protected energia: number = 100;
comer(comida: number): void {
this.energia += comida;
}
}
class Perro extends Animal {
ladrar(): void {
this.energia -= 10; // OK: es protected
}
}
const perro = new Perro();
// perro.energia; // Error: protected
Resumen
| Modificador | Clase | Subclase | Externo |
|---|---|---|---|
| public | SI | SI | SI |
| private | SI | NO | NO |
| protected | SI | SI | NO |
Parámetros de propiedades
typescript
class Usuario {
constructor(
public nombre: string, // public
private password: string, // private
protected rol: string // protected
) {}
}
// Equivale a:
class Usuario {
nombre: string;
private password: string;
protected rol: string;
constructor(nombre: string, password: string, rol: string) {
this.nombre = nombre;
this.password = password;
this.rol = rol;
}
}
Ejercicio pratico
Crea una clase 'Banco' con cuenta privada, y métodos publicos para operar.
exercise.ts
Loading...
Resultado
Haz clic en "Ejecutar" para ver el resultado...