|
|
|
| Собственно у меня вопрос такой. В каком случае лучше использовать статистические методы класса, а в каком динамические, тоесть с созданием объекта? | |
|
|
|
|
|
|
|
для: garold
(19.06.2010 в 03:29)
| |
File::delete($file);
вместо
$file = new File($file);
$file->delete();
unset($file);
|
© | |
|
|
|
|
|
|
|
для: sl1p
(19.06.2010 в 03:38)
| | unset($file) здесь здесь будет лишним.
То что Вы написали, я прекрасно знаю. Но меня больше вопрос больше правильности интересует. Тоесть в каких случаях не лишним будет создавать объект, а в каких вызывать статистически.
Какие плюсы/минусы у статистических методов и аналогично у динамических? | |
|
|
|
|
|
|
|
для: garold
(19.06.2010 в 04:20)
| | Не статистические, а статические.
Статический метод не может иметь доступ к внутренним нестатическим членам класса (т.е. к объекту $this). Если вызов метода не зависит от внутреннего состояния объекта, то метод может быть статическим. Если метод меняет внутреннее состояние объекта или зависит от этого состояния, то, соответственно, статическим он быть не может.
Статический метод - почти как глобальная функция, но ассоциированная конкретному классу и имеет доступ к его закрытым членам. | |
|
|
|
|
|
|
|
для: sms-send
(19.06.2010 в 11:29)
| | Так и есть..
Статические данные описывают информацию для всех объектов...
Допустим, мы используем класс "банковские счета".. В нём есть поле "процентная ставка"..
Мы создаем около 100 объектов этого класса. Т.к. у нас поле нестатическое и все объекты уникальны, придется через каждый объект устанавливать "процентную ставку".. Представляешь себе часовую картину, через каждый объект вызывать метод "установить процентную ставку" ?
Вот тут и помогает статическое поле... Все банковские счета будут разделять общую процентную ставку...
А статические методы обычно применяют для работы со статическими полями.. (допустим, мы хотим узнать сначала процентую ставку, а не сразу создавать объект класса)..
p.s. иногда бывает необходимость создать класс с только статическими методам, объявив конструктор как приватный.. когда нам вообще не нужны объекты. | |
|
|
|