Sobes.tech
Junior — Middle

Каква е причината за въвеждането на ключовата дума abstract във версия Dart 2.12?

sobes.tech AI

Отговор от AI

Ключовата дума abstract в Dart 2.12 беше въведена, за да обозначи ясно абстрактните класове. По-рано абстрактните класове се дефинираха неявно, например ако класът съдържаше абстрактни методи (без реализация). Въвеждането на abstract позволява:

  • Ясно маркиране на клас като абстрактен, което подобрява четливостта на кода.
  • Забрана за създаване на екземпляри от такива класове директно.
  • Подобряване на поддръжката за статичен анализ и инструменти за разработка.

Пример за използване:

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

class Dog extends Animal {
  @override
  void makeSound() {
    print('Bark');
  }
}

Тук Animal е абстрактен клас, който не може да бъде инстанциран директно.