Класс может быть помечен как абстрактный при помощи ключевого слова abstract.
Это позволяет исключить создание объектов (экземпляров) этого класса.
Например:
abstract class unit
Абстрактным может быть только класс целиком; абстрактные методы не поддерживаются, поэтому если в абстрактном классе есть методы, то они должны быть определены (то есть иметь сигнатуру и тело).
{
}
class farmer : unit
{
}
// ...
// Ошибка: нельзя создать объект абстрактного класса!
@unit[0] = unit;
// Правильно: farmer -- это не абстрактный класс!
@unit[0] = farmer;
// ...
Внимание!
В скриптах BGT использование ключевого слова abstract вызывает ошибку компиляции.