Что означает static
?
Я знаю, что public
означает, что к нему можно получить доступ извне класса, а private
только изнутри класса…
Что означает static
?
Я знаю, что public
означает, что к нему можно получить доступ извне класса, а private
только изнутри класса…
Static означает, что к нему можно получить доступ без создания экземпляра класса. Это полезно для констант.
Статические методы не должны влиять на состояние объекта. Они могут иметь локальные переменные в дополнение к параметрам.
public: к публично объявленным элементам можно получить доступ везде.
Защищенный: защищенный ограничивает доступ к наследуемому и родительскому классы (и класс, который определяет элемент).
private: Private ограничивает видимость только классом, который определяет предмет.
static: статическая переменная существует только в локальной области функций, но он не теряет своего значения, когда выполнение программы выходит из этой области.
final: ключевые слова final не позволяют дочерним классам переопределять метод с префиксом определения с окончательным. Если сам класс будучи определенным как окончательный, он не может быть расширен.
Помимо PHP:
transient: временная переменная - это переменная, которая не может быть сериализованным.
volatile: переменная, которая может быть одновременно изменена несколькими потоки должны быть объявлены как volatile. Переменные, объявленные как volatile не будет оптимизирован компилятором, потому что их значение может измениться в в любой момент.
С http://php.net/manual/en/language.oop5.static.php
Объявление свойств или методов класса поскольку статика делает их доступными без необходимости создания экземпляров класс. Недвижимость, объявленная как статические не могут быть доступны с экземпляр объекта класса (хотя статический метод может).
Пример: при использовании ключевого слова static
мы не можем использовать $this
class Foo {
private $foo='private';
private function priv_func() {
echo 'priv_method';
}
public static function get() {
echo $this->foo;
$this->priv_func();
}
}
$obj = new Foo();
$obj->get();
Неустранимая ошибка: использование $ this, когда не в контексте объекта в (…)