Влияют ли статические методы на размер объекта php? - PullRequest
2 голосов
/ 17 марта 2010

Если у меня есть класс с именем myclass, влияет ли статический метод внутри класса на его размер в памяти?

class myclass{
public $instancevar;
public static function method1(){}
public static function method2(){}
}

Увеличит ли добавление более статических методов экземпляры myclass?

Я знаю, что статические методы совместно используются экземплярами класса, но будет ли добавление более или более статических методов влиять на размер объекта в памяти? Точно так же, если больше статических методов повлияет на время выполнения, если я передам экземпляр методу в качестве аргумента?

Ответы [ 2 ]

1 голос
/ 17 марта 2010

Я бы даже сказал, что методы-члены также не увеличивают объем памяти объекта. Если я сериализирую объект, сериализуется только информация, из какого класса он является экземпляром и какие значения имеют его свойства. Этого достаточно для определения поведения объектов.

Вы можете вычислить размер объекта , описанного в этом вопросе .

Вы увидите, что добавление или удаление статических или нестатических методов не меняет размер объекта.


Подводя итог: Вы ничего не получите, если используете статические методы, которые работают с объектом, чем непосредственное использование методов объекта.

0 голосов
/ 17 марта 2010

Статические методы не должны увеличивать объем памяти вашего объекта.

Вопрос в том, заметите ли вы, если статические методы увеличат объем памяти вашего объекта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...