|
|
|
| Объясните пожалуйста в чём разница между
статическими членами класса, от не статических
ведь один и тот-же класс можно написать двумя способами, или я не прав ?
и когда стоит объявлять в php методы класса как статические?
P.S заранее всем спасибо | |
|
|
|
|
|
|
|
для: HeX
(21.06.2010 в 12:59)
| | ну 1ое, когда надо наследовать... до 5.3 вроде, статистические наследовать нельзя..
а общая инфа.. например общежитие.
кухня, сан.узел, прихожая - эт статистич.
комнаты - эт ты уже объекты создаешь.. | |
|
|
|
|
|
|
|
для: а-я
(21.06.2010 в 13:23)
| | http://softtime.ru/forum/read.php?id_forum=1&id_theme=74543&page=1
тут уже была подобная тема, может что найдешь для себя полезное | |
|
|
|
|
|
|
|
для: Tonik992
(21.06.2010 в 13:39)
| | Спасибо | |
|
|
|
|
|
|
|
для: а-я
(21.06.2010 в 13:23)
| | Правильно, но с таким же успехом можно объявить как и не статический.
Мне не понятно когда стоит объявлять статические методы а когда нет | |
|
|
|
|
|
|
|
для: HeX
(21.06.2010 в 13:42)
| |
<?php
class Someclass{
private $obj;
static private $static;
static public function newValueFromStatic(){
$this->obj = "Object's variable"; //Нельзя
}
public function newValueFromObj(){
$this->static = "NOT STATIC!";
Someclass::$static = "IS STATIC";
}
public function get_value(){
echo $this->static."<br>";
echo Someclass::$static;
}
}
$someclass = new Someclass();
//Someclass::newValueFromStatic(); //Ошибка! Недопустимо
$someclass->newValueFromObj();
$someclass->get_value();
Результат:
NOT STATIC!<br>IS STATIC
|
В общем, вывод такой: статические методы применяются обычно для работы со статическими полями. Но в статических методах нельзя менять состояние объекта (изменение каких-либо нестатических полей).. | |
|
|
|
|
|
|
|
для: Tonik992
(21.06.2010 в 14:06)
| | опа,вот спасибо! если я правильно понял в статических методах нельзя влиять на сам объект то есть изменять его? | |
|
|
|
|
|
|
|
для: HeX
(21.06.2010 в 14:25)
| | не только влиять, но даже обращаться к объекту не выйдет.
Потому что сам объект не определен. Определен лишь класс. | |
|
|
|
|
|
|
|
для: Trianon
(21.06.2010 в 14:34)
| | Спасибо,ВСЕМ СПАСИБО !!!!!!!!!!! | |
|
|
|