Абстрактные классы и методы онлайн урок.


Абстрактный класс - это класс, для которого не могут быть созданы его экземпляры. Для того, чтоб определить класс, как абстрактный, необходимо записать ключевое слово abstract перед словом class:

abstract class A { 
// properties & methods
}


Тогда любая попытка создать экземпляр этого класса (при помощи оператора new) будет означать fatal error и работа скрипта будет остановлена.

Для чего это нужно? Это дает программистам более качественно моделировать те или иные сущности. Например, у нас есть геометрическая фигура и класс Figure. Поскольку, мы еще не знаем, какая именно фигура, то мы не можем ее себе представить или нарисовать. Это значит что создавать экземпляр этого класса не имеет смысла и мы можем определить соответствующий класс как абстрактный, а классы Triangle, Square, CIrcle как дочерние классы геометрической фигуры.

В абстрактном классе допускается объявление методов без тела самих методов. Такие методы называются абстрактными или виртуальными. Это означает, что этот метод обязательно должен быть реализован в дочернем классе. Иначе это приведет к ошибке. Для того, чтобы определить метод, как абстрактный, также необходимо указать ключевое слово abstract перед определением метода: