Задать вопрос

Какой смысл создавать объект, если можно использовать статический метод?

Здравствуйте. Интересует вопрос:

Зачем и когда нужно создавать объекты классов, если, по сути, можно пользоваться статическими методами не создавая объектов? Не очень понимаю, когда уместнее создавать объект, а когда пользоваться статикой.

Например:

class Test1 {
  public static function result() {
    return 2*2;
  }
}

// Использование

$test1 = new Test1();
$test1->result(); //4


VS

class Test2 {
  public function result() {
    return 2*2;
  }
}

//Использование

Test2::result(); //4


Какая в этом разница? Когда что лучше? Спасибо.
  • Вопрос задан
  • 1295 просмотров
Подписаться 3 Оценить Комментировать
Ответ пользователя Андрей К ответам на вопрос (3)
Ashlst
@Ashlst
Фанат эстетики и красивых решений.
Рекомендую почитать
ключевое слово «static»
Обычные свойства, не-static, присущи каждому объекту индивидуально (у этого автомобиля 4 колеса, а у того 1 уже сняли).
Статические свойства присущи самому классу, а не конкретным объектам (количество автомобилей на планете составляет ... штук, общее количество их колес составляет ... штук).
Ответ написан