3. Коротко ООП PHP – Обьявление как статические (static) и финальные (final).
Объявление свойств и методов класса статическими позволяет обращаться к ним без создания экземпляра класса.
Финальные классы используются для запрета унаследования, а методы для запрета переопределения.
<?php
class Car {
// доступ к статическим свойствам класса не может быть получен через оператор ->
public static $name = 'БМВ';
public static function run() {
// псевдо-переменная $this не доступна внутри статического метода
echo self::$name . ' Едь!';
}
}
// final - класс CarAlien не может быть унаследован
final class CarAlien extends Car {
// final - метод Hi не может быть переопределен
final public static function run() {
// псевдо-переменная $this не доступна внутри статического метода
echo 'Мы приехали с миром ' .parent::$name . '!';
}
}
echo Car::$name;
echo "<br/>";
Car::run();
echo "<br/>";
CarAlien::run();
Использовать статические функции класса можно, не создавая самого экземпляра класса – это экономит память.