А почему это может быть небезопасно?) Если конструктор будет private или protected, Вы не сможете создавать объекты этого класса, кроме как в методах этого класса.
"Как мы уже сказали, статические свойства и методы принадлежат классу, а не объектам, и использовать мы ИЗ можем без создания объектов." Небольшая опечатка "из" вместо "их"
<?php
class Human
{
private static $x = 0;
public function __construct()
{
self::$x++;
}
public static function getX()
{
return self::$x;
}
}
$one = new Human();
$two = new Human();
echo Human::getX();
?>
Сколько б не рассказывал, всё равно надо проверить)
От себя добавлю, тут бы уместно было ещё добавить про константы. "Как и статические свойства – константы принадлежат не к объекту, а к классу. Поэтому работать с ними можем в контексте класса. Обращение через self. По-умолчанию константы являются публичными. Но с php 7.1 мы можем ограничивать область видимости констант используя модификаторы. "
Здравствуйте!
Можно ли вместо статического метода использовать конструктор с меньшим числом параметров?
К примеру, в классе 5 свойств. Создаем стандартный конструктор с 5 параметрами. И еще один конструктор - с тремя. В нем 2 оставшихся параметра будут заданы по умолчанию.
И тогда использовать статические методы, если не нужен объект, а квазиконструкторы - для всего остального?
Оставлять конструкторы публичными безопасно?
А почему это может быть небезопасно?) Если конструктор будет private или protected, Вы не сможете создавать объекты этого класса, кроме как в методах этого класса.
Спасибо.
Пожалуйста.
"Как мы уже сказали, статические свойства и методы принадлежат классу, а не объектам, и использовать мы ИЗ можем без создания объектов." Небольшая опечатка "из" вместо "их"
Спасибо. Исправил :)
Сколько б не рассказывал, всё равно надо проверить)
?> - в конце файла не ставится. А так всё ок
От себя добавлю, тут бы уместно было ещё добавить про константы. "Как и статические свойства – константы принадлежат не к объекту, а к классу. Поэтому работать с ними можем в контексте класса. Обращение через self. По-умолчанию константы являются публичными. Но с php 7.1 мы можем ограничивать область видимости констант используя модификаторы. "
Здравствуйте!
Можно ли вместо статического метода использовать конструктор с меньшим числом параметров?
К примеру, в классе 5 свойств. Создаем стандартный конструктор с 5 параметрами. И еще один конструктор - с тремя. В нем 2 оставшихся параметра будут заданы по умолчанию.
И тогда использовать статические методы, если не нужен объект, а квазиконструкторы - для всего остального?
Привет. В php нет перегрузки методов.
static $x - это отсылка к группе Static-X? ))))
Ахаха) Нет, но ностальгию по NFS Underground вам вызвать удалось)