Что такое Abstract Class в TypeScript

Ответ

Абстрактный класс в TypeScript — это класс, который нельзя инстанциировать напрямую. Он служит шаблоном для других классов и может содержать абстрактные методы (без реализации), которые должны быть реализованы в дочерних классах.

abstract class Animal {
  abstract makeSound(): void;

  move(): void {
    console.log("Moving...");
  }
}

class Dog extends Animal {
  makeSound() {
    console.log("Woof!");
  }
}

const dog = new Dog();
dog.makeSound(); // "Woof!"
dog.move(); // "Moving..."

Ключевые особенности:

  • Создается с ключевым словом abstract
  • Может содержать как абстрактные, так и обычные методы
  • Обязателен для наследования
  • Абстрактные методы не имеют тела и должны быть реализованы в наследниках