đ„ Classes, Abstract Classes (clases abstractas)
Las clases, métodos y propiedades pueden ser declaradas como abtract
(abstractas) en TypeScript.
Un mĂ©todo y/o una propiedad abstracta es un mĂ©todo que no ha sido implementado. Cuando una clase no tiene ningĂșn mĂ©todo abstracto, se le conoce como concrete
(concreta).
No es posible instanciar una clase abstracta, como se ve en el siguiente ejemplo.
abstract class Base {
abstract getNombre(): string;
imprimirNombre() {
console.log(`Mi nombre es ${this.getNombre()}`);
}
}
const miInstancia = new Base(); // <- esta lĂnea generara un error pues
// no se puede instancear una clase abstracta
Pero si es posible instanciar aquellas que la implementan.
abstract class Base {
abstract getNombre(): string;
imprimirNombre() {
console.log(`Mi nombre es ${this.getNombre()}`);
}
}
class Derivada extends Base {
getNombre(): string {
return "Laura";
}
}
const miInstancia = new Derivada();
miInstancia.imprimirNombre();
Mi nombre es Laura
Si no implementamos alguno de los métodos abstractos de una clase abstracta, esto generarå un error en el compilador.