Следует ли избегать статических методов в максимально возможной степени? - PullRequest
1 голос
/ 02 июня 2010

При разработке приложения в ООП следует ли избегать статических методов, насколько это возможно?

Ответы [ 4 ]

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

Существуют очень конкретные случаи, которые предписывают их использование, например, передача метода класса в API C, для которого требуется указатель функции или средство для создания определенных шаблонов, таких как Singleton. Как правило, вы не хотите использовать один, если нет веской причины.

В противном случае им не рекомендуется, поскольку их использование за пределами некоторых ограниченных случаев подразумевает наличие глобальных данных, так как они не имеют автоматического доступа к указателю 'this'. Это нарушает принципы ОО, такие как сокрытие данных.

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

Нет, не должны.

Любой метод, который не работает с экземпляром объекта, должен быть static.

Нет смысла требовать экземпляр объекта, если он вам не нужен.

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

Это зависит - статический метод необходим в языке ООП, таком как Java или C #, если вам действительно нужно написать отдельную функцию. В этом случае вы можете создать некоторый класс Utility, который содержит различные статические методы.

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

По моему мнению, статические методы проще, чем методы экземпляра, и поэтому их следует использовать как можно больше.

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

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