Запретить создавать экземпляр класса
Если класс может только наследоваться, т.е. для него нельзя создавать экземпляров, то это можно сделать через ключевое слово abstract
.
abstract class ClassParent { public function getPHPVersion() { return PHP_VERSION; } } $myobj = new ClassParent(); // ошибка (Fatal error)
При попытке создать экземпляр класса, PHP выведет ошибку «Fatal error: Uncaught Error: Cannot instantiate abstract class».
При этом дочерние классы могут иметь экземпляры.
abstract class ClassParent { public function getPHPVersion() { return PHP_VERSION; } } class ClassChild extends ClassParent { } // код выполнится $myobj = new ClassChild(); echo $myobj->getPHPVersion();
Класс, созданный через ключевое слово abstract
, называют Абстрактный класс.
Поддержать автора