Что такое Абстрактный класс

Ответ

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

Особенности:

  • Может содержать абстрактные методы (без реализации) и обычные методы.
  • Наследники обязаны реализовать все абстрактные методы.
  • Позволяет избежать дублирования кода.

Пример (TypeScript):

abstract class Animal {
  abstract makeSound(): void; // Абстрактный метод

  move(): void { // Обычный метод
    console.log("Moving...");
  }
}

class Dog extends Animal {
  makeSound(): void { // Обязательная реализация
    console.log("Woof!");
  }
}

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