TypeScript/Conceptos
Clases
Las clases son plantillas que agrupan propiedades y métodos bajo un mismo nombre para crear objetos a partir de ellas.
Sintaxis Básica
Clase Estándar
typescriptclass Usuario {}
Clase Abstracta (abstract)
No se puede instanciar directamente con new. Sirve únicamente como base para ser extendida por otras clases.
typescriptabstract class Usuario {}
Clase Exportada (export / export default)
Utilizada para organizar el código en módulos y poder importarla en otros archivos.
typescriptexport class Usuario {}
// O como exportación por defecto
export default class Usuario {}
Clase Declarada (declare)
Se usa en TypeScript (habitualmente en archivos .d.ts) para decirle al compilador "esta clase existe en el entorno global o en una librería JavaScript externa, no generes código de ella".
typescriptdeclare class Usuario {}
Expresiones de Clase (Asignadas a variables)
En lugar de declararla formalmente, la asignas como un valor a una constante o variable:
typescript// Expresión anónima
const Usuario = class {};
// Expresión exportada
export const Usuario = class {};
Clases que Heredan o Implementan Contratos
El encabezado también cambia cuando se relaciona con otras estructuras de POO:
typescript// Hereda de otra clase
class Usuario extends Persona {}
// Cumple un contrato definido por una interfaz
class Usuario implements iUsuario {
constructor(public nombre: string) {}
}
// Combina ambas
class Usuario extends Persona implements iUsuario {
constructor(public nombre: string) {
super(nombre);
}
}