Sobes.tech
Back to questions
Junior — Middle
107

Можете объяснить, что означает понятие абстрактного класса в объектно-ориентированном программировании?

Companies where asked
Grotem

Answer from AI

sobes.tech AI

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

Например, в Dart (язык Flutter) абстрактный класс объявляется с помощью ключевого слова abstract:

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

  void breathe() {
    print('Дышит'); // реализованный метод
  }
}

class Dog extends Animal {
  @override
  void makeSound() {
    print('Гав');
  }
}

void main() {
  // Animal animal = Animal(); // Ошибка: нельзя создать экземпляр абстрактного класса
  Dog dog = Dog();
  dog.makeSound(); // Гав
  dog.breathe();   // Дышит
}

Таким образом, абстрактный класс задаёт общий интерфейс и базовую функциональность, а конкретные классы реализуют детали.