Características avanzadas de las clases
Descubra características avanzadas de las clases, como clases abstractas, modificadores de acceso y miembros estáticos, para escribir código TypeScript limpio, modular y orientado a objetos
Características avanzadas de las clases es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 2 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de TypeScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de TypeScript Academy incluye 3 lecciones en total.
Introducción a las características avanzadas de las clases
Introducción a las características avanzadas de las clases
TypeScript ofrece varias características avanzadas de las clases que le ayudan a escribir código modular, escalable y fácil de mantener orientado a objetos.
En esta lección aprenderá sobre los modificadores de acceso, las clases abstractas, los miembros estáticos y mucho más.

Descripción general de las características avanzadas de las clases
Introducción a las características avanzadas de las clases
TypeScript ofrece varias características avanzadas de las clases que le ayudan a escribir código modular, escalable y fácil de mantener orientado a objetos.
En esta lección aprenderá sobre los modificadores de acceso, las clases abstractas, los miembros estáticos y mucho más.

Modificadores de acceso
Modificadores de acceso
TypeScript proporciona tres modificadores de acceso para controlar la visibilidad de los miembros de una clase:
public: accesible desde cualquier lugar (opción predeterminada).private: accesible únicamente dentro de la clase.protected: accesible dentro de la clase y sus subclases.
class Person {
public name: string;
private age: number;
protected role: string;
constructor(name: string, age: number, role: string) {
this.name = name;
this.age = age;
this.role = role;
}
}
class Employee extends Person {
getRole(): string {
return this.role; // Accessible because it's protected
}
}Clases abstractas
Clases abstractas
Las clases abstractas se usan como plantillas para otras clases. No se pueden instanciar directamente y pueden incluir métodos abstractos.
abstract class Shape {
abstract getArea(): number;
}
class Circle extends Shape {
constructor(public radius: number) {
super();
}
getArea(): number {
return Math.PI * this.radius ** 2;
}
}
const circle = new Circle(5);
console.log(circle.getArea()); // 78.54Miembros estáticos
Miembros estáticos
Los miembros estáticos pertenecen a la propia clase, no a ninguna instancia de la clase. Se accede a ellos mediante el nombre de la clase.
class MathUtils {
static PI = 3.14;
static calculateCircleArea(radius: number): number {
return this.PI * radius ** 2;
}
}
console.log(MathUtils.PI); // 3.14
console.log(MathUtils.calculateCircleArea(5)); // 78.5Getters y setters
Getters y setters
Los getters y setters permiten controlar cómo se accede a las propiedades de una clase o cómo se modifican.
class Person {
private _name: string;
constructor(name: string) {
this._name = name;
}
get name(): string {
return this._name;
}
set name(newName: string) {
this._name = newName;
}
}
const person = new Person('Alice');
console.log(person.name); // Alice
person.name = 'Bob';
console.log(person.name); // BobPropiedades de solo lectura
Propiedades de solo lectura
El modificador readonly garantiza que una propiedad solo se pueda establecer durante la inicialización y no se pueda modificar posteriormente.
class Vehicle {
readonly make: string;
constructor(make: string) {
this.make = make;
}
}
const car = new Vehicle('Toyota');
console.log(car.make); // Toyota
// car.make = 'Honda'; // Error: Cannot assign to 'make' because it is a read-only property.Constructores privados y protegidos
Constructores privados y protegidos
Las clases pueden tener constructores privados o protegidos para controlar cómo y dónde se crean sus instancias.
class Singleton {
private static instance: Singleton;
private constructor() {}
static getInstance(): Singleton {
if (!this.instance) {
this.instance = new Singleton();
}
return this.instance;
}
}
const singleton = Singleton.getInstance();
console.log(singleton);Tarea práctica
Tarea práctica
Cree una clase con un constructor protected y extiéndala en una subclase. Añada métodos para acceder a las propiedades protegidas desde la subclase.
¡Enhorabuena!
¡Enhorabuena!
Ha aprendido características avanzadas de las clases, como modificadores de acceso, clases abstractas, miembros estáticos y mucho más. Practique estos conceptos para escribir código TypeScript orientado a objetos limpio y eficiente.

Preguntas frecuentes
¿La lección «Características avanzadas de las clases» es gratis?
Sí — el texto completo de «Características avanzadas de las clases» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de TypeScript Academy, actualiza a CoddyKit PRO. El curso de TypeScript Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Características avanzadas de las clases»?
Descubra características avanzadas de las clases, como clases abstractas, modificadores de acceso y miembros estáticos, para escribir código TypeScript limpio, modular y orientado a objetos Practicas TypeScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar TypeScript Academy?
No se requiere experiencia previa. TypeScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 3.
¿Cuánto tiempo toma la lección «Características avanzadas de las clases»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de TypeScript Academy?
Sí. Cada lección de TypeScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Acotación avanzada de tipos
- Características avanzadas de las clases
- Tipos condicionales