Разница между объектом и статическими методами - PullRequest
0 голосов
/ 08 июня 2010

В чем разница между статическими и объектными методами? Где и почему они используются по-разному? Когда я использую какой из них?

Ответы [ 4 ]

1 голос
/ 08 июня 2010

С объектными методами вам нужно создать экземпляр класса, чтобы использовать метод, скажем, Барк является объектным методом

Dog myDog = new Dog ();myDog.Bark ();

Но теперь допустим, что Барк был статическим методом.Я мог бы просто сделать: Dog.Bark ();

Так что статический метод работает с классом, а не с объектом.

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

0 голосов
/ 09 июня 2010

Руководство по PHP очень кратко об этом. Но static достаточно хорошо объяснено в книге "PHP 5 Power Programming":

0 голосов
/ 08 июня 2010

Методы экземпляра требуют вызова экземпляра класса.Ссылку на экземпляр можно рассматривать как невидимый первый параметр, доступ к которому можно получить из метода с помощью ключевого слова this в C #, C ++ и Java.Статические методы могут быть вызваны без экземпляра класса.Они могут получить доступ к экземплярам класса только в том случае, если они переданы в качестве параметров.

В качестве общего практического правила используйте метод экземпляра, когда метод выполняет какую-либо операцию с одним экземпляром.Используйте статический метод, когда метод выполняет операцию с несколькими экземплярами или не требует никаких экземпляров.

0 голосов
/ 08 июня 2010

статические методы создаются только один раз в области памяти.

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