Кто нибудь, розкажите мне что такое static в ООП, и для чего он используется, если можно то и с примером.
Во-первых это ключевое слово используется для обозначения статических свойств и методов класса, которые принадлежат не к конкретным объектам, а в контексте самого класса. Документация
Я обычно на уроках привожу такой пример – Класс, это чертеж нашего дома, конкретные дома построенные это объекты. Статические свойства это например цвет чернил, которыми чертеж был сделан, или тип бумаги, на котором начертили схему. А цвет конкретных домов и например этажность дома это уже конкретные свойства объектов.
Во-вторых зарезервированное слово static
используется для позднего статического связывания. Документация
В принципе из названия все понятно. Можно провести аналогию с объектами и сразу станет понятно. $this
обращается к текущему объекту, а parent
обращается к свойствам или методам родительского класса. Так вот ту же задачу выполняет слово static
– self
для обращения к текущему классу, то есть тому, в котором написан код. А static
используем, что бы при наследовании получить доступ к классу, который наследовал статические методы или свойства.
И в третьих (не относится к ООП). Слово static
используется для обозначения статичных переменных. Документация
Они нужны, что бы сохранить значения локальных переменных между вызовами. В целом, это как приватные свойства в ООП.
Примеры все есть в документации, как кстати и все описание и даже на русском языке! Не ленитесь, всегда смотрите первоисточник, не доверяйте на 100% книгам и форумам.
Он делает поля(свойства) или методы членами класса, именно класса, не объекта а класса, и нам можно будет обращаться к таким методам и свойствам с помощью конструкции двойного двоеточия ClassName::methodOrElement
, то есть не реализуя и не создавая новый объект, при этом доступ из объектов, к таким свойствам, будет не доступен. Ну основе таких методов реализуют например паттерн Singleton
(Одиночка).
class Singleton
{
private static $instance;
public static function getInstance()
{
if(is_null(self::$instance)) {
self::$instance = new self();
}
return self::$_nstance;
}
private function __construct()
{
//code
}
}
Тут для реализации одиночки, используется и свойства и методы Static
.
Подробнее http://php.net/manual/ru/language.oop5.static.php.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Создаю новый dom с ссылки и пытаюсь выдернуть оттуда все элементы но на выходе получаю 0 объектов хотя тем же simple html dom спокойно дергаю ихКусок...
есть два селекта и база данных в localhost phpmyadmin никак не могу додуматься как сделать так, чтобы при выборе 1 из видов работ ( в option) с права появлялась...
1 Создать анонимную функцию и поместить её в переменнуюФункция должна принимать массив и возвращать среднее значение всех элементов
Помогите, как исправить, появляются пустые места в категории товаровПриложу скриншоты