Абстрактные классы в ООП
- Подробности
- Категория: PHP
- Просмотров: 378
Есть в ООП много интересного и одна из следующих особенностей, это
Абстрактные классы - они задаются словом abstract.
Их особенности:
- Если в классе есть хотя бы один абстрактный метод, то класс может быть только абстрактным!
- В нем могут быть и публичные методы
- Они не имеют реализации
abstract class M {}
$m = new M(); // так не получится сделать!!!
иначе будет такая ошибка Fatal error: Uncaught Error: Cannot instantiate abstract class M in
из него нельзя создать экземпляр напрямую, а только через наследуемые классы, поскольку сам он только абстрактный, то есть как бы составная часть других полноценных классов, которых полноценными делает именно он. Например: одна марка двигателя может быть абстрактным классом и он может подходить к разным моделям автомобиля например.
Абстрактные методы
Абстрактные методы - это как прототипы, наследуемые классы ОБЯЗАНЫ их реализовать, иначе будет ошибка. Они берут к примеру, обычный двигатель и форсируют его (мужской пример).
Могут переопределить его как он сам и выше (по области видимости) .