powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему использовать static-методы "плохо"?
25 сообщений из 36, страница 1 из 2
Почему использовать static-методы "плохо"?
    #38626097
umka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На собеседовании задали такой вопрос.
Вот так вот просто, без контекста.
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626163
Фотография Паша01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С подвохом вопрос, если их использовать "плохо", то зачем бы их стали создавать?
Тут я бы просто ответил, все, что знаю про них, где и когда их уместно использовать, все по учебнику, короче.
Также важно, что на static-методы не распространяется полиморфиз, поэтому их часто используют в final-классах.
Ну и все в таком духе.
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626181
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таких вопросах, видимо, надо ответить то, что предполагает услышать за ответ автор.
По всей видимости, надо рассказать о случаях, когда такое - плохо.

скорей всего, имеется в виду, что если метод не статический, то ему можно подсунуть другой обьект с другой реализацией, а если зовешь статический - то такого не сделать.
Подсуньте, например вместо Math.sin реализацию, которая бы дополнительно к вычислению синуса считала, сколько раз ее позвали.
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626185
umka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chabapok...
По всей видимости, надо рассказать о случаях, когда такое - плохо.
...


Это и имелось ввиду.
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626199
umka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паша01С подвохом вопрос, если их использовать "плохо", то зачем бы их стали создавать?
Тут я бы просто ответил, все, что знаю про них, где и когда их уместно использовать, все по учебнику, короче.
Также важно, что на static-методы не распространяется полиморфиз, поэтому их часто используют в final-классах.
Ну и все в таком духе.

А что не-static методы нельзя использовать в final-классах???
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626211
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
umka_maxНа собеседовании задали такой вопрос.
Вот так вот просто, без контекста.
Именно методы? Вопрос "почему" не является корректным. Более точным вопросом было бы "Когда...", или "В каких случаях..."
Есть масса примеров, когда без статических методов не обойтись.
А на собеседовании, конечно же стоило рассказать и про полиморфизм и про состояние, а так же единение данных с поведением и прочее ООП.
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626219
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

а что про состояние такого рассказать можно?
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626220
umka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczumka_maxНа собеседовании задали такой вопрос.
Вот так вот просто, без контекста.
Именно методы? Вопрос "почему" не является корректным. Более точным вопросом было бы "Когда...", или "В каких случаях..."
Есть масса примеров, когда без статических методов не обойтись.
А на собеседовании, конечно же стоило рассказать и про полиморфизм и про состояние, а так же единение данных с поведением и прочее ООП.

Ну мне как-то даже и в голову не приходило связывать static и полиморфизм (про статический полиморфизм только сейчас узнал).

А можно подробнее о:
1.
автор...и про состояние, а так же единение данных с поведением и прочее ООП...


2. Хотя бы пару из "массы примеров"?

Мне думается, что это, в принципе, мне известно. Просто хочется убедиться и систематизировать как-то. :)
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626226
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
umka_max,

umka_maxпро статический полиморфизм только сейчас узнал

мне расскажешь? я никогда таких буквосочетаний не встречал
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626231
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
umka_max2. Хотя бы пару из "массы примеров"?
Мне думается, что это, в принципе, мне известно. Просто хочется убедиться и систематизировать как-то. :)
Можно часто столкнуться с ситуацией, что какой-то новый метод не понятно куда бы запихать и тогда его от безысходности пихают в MyBusinessLogicHelper и используют из других методов. Такой метод принимает какие-то объекты, и оперирует их состоянием, нарушая всяческую инкапсуляцию. Так возникает Anemic Domain Model. При правильном дизайне логика находится как можно ближе к состоянию, которым она оперирует. И статические методы имеют право на жизнь лишь в некоторых ограниченных сценариях вроде фабрик.
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626233
umka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerumka_max,

umka_maxпро статический полиморфизм только сейчас узнал

мне расскажешь? я никогда таких буквосочетаний не встречал

Не, не расскажу! :)
Ну может выразился не правильно. Просто в поиске по форуму наткнулся на обсуждение.

http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1082308&msg=15716633
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=740602&msg=8451858

Это еще один вопрос к уважаемому Blazkowicz будет. )))
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626234
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerмне расскажешь? я никогда таких буквосочетаний не встречал
Not static, not final, not private методы являются виртуальными. Вызов нужного метода определяется в рантайме "динамически".
Статический же полиморфизм это, полиморфизм разруливающийся в compile-time - method overload, hiding для static методов и полей.
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626235
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626240
umka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczumka_max2. Хотя бы пару из "массы примеров"?
Мне думается, что это, в принципе, мне известно. Просто хочется убедиться и систематизировать как-то. :)
Можно часто столкнуться с ситуацией, что какой-то новый метод не понятно куда бы запихать и тогда его от безысходности пихают в MyBusinessLogicHelper и используют из других методов. Такой метод принимает какие-то объекты, и оперирует их состоянием, нарушая всяческую инкапсуляцию. Так возникает Anemic Domain Model. При правильном дизайне логика находится как можно ближе к состоянию, которым она оперирует. И статические методы имеют право на жизнь лишь в некоторых ограниченных сценариях вроде фабрик.

Ну это, как бы, само собой разумеется. :)
Просто как-то даже и в голову не приходило, что в таком ключе могут вопрос поставить.
Вот и вводят такие вопросы в ступор.

А по первому пункту?
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626290
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
umka_maxНа собеседовании задали такой вопрос.
Вот так вот просто, без контекста.
Вопрос-провокация. Зачем вообще в java существуют static-методы? По ошибке их
ввели или как?
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626295
umka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonumka_maxНа собеседовании задали такой вопрос.
Вот так вот просто, без контекста.
Вопрос-провокация. Зачем вообще в java существуют static-методы? По ошибке их
ввели или как?

Ну вот и мне интересно "зачем" они нужны? )))
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626298
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
umka_maxmaytonпропущено...

Вопрос-провокация. Зачем вообще в java существуют static-методы? По ошибке их
ввели или как?

Ну вот и мне интересно "зачем" они нужны? )))
Ты использовал когда-нибудь Math ?
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626306
umka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonumka_maxпропущено...


Ну вот и мне интересно "зачем" они нужны? )))
Ты использовал когда-нибудь Math ?

Использовал.
И?
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626319
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
umka_maxmaytonпропущено...

Ты использовал когда-нибудь Math ?

Использовал.
И?
Использовал и так и не понял почему там static методы. Ну попробуй представить как-бы ты работал
с синусами каждый раз создавая экземпляр объекта который никому не нужен.
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626330
umka_max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonumka_maxпропущено...


Использовал.
И?
Использовал и так и не понял почему там static методы. Ну попробуй представить как-бы ты работал
с синусами каждый раз создавая экземпляр объекта который никому не нужен.

Таким образом, static-методы нужны для работы с "синусами"?

Осталось ответить на более общий "вопрос-провокацию":
авторЗачем вообще в java существуют static-методы? По ошибке их ввели или как?

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


Я это все к чему...
Я не придуриваюсь, а просто хочу выяснить правильно ли понимаю предмет.
Ну и заодно понять за каким хером интервьюер задает такие вопросы, которые нужно уточнять? )))

Мне, в принципе, и этого 15938045 хватило. Плюс "синусы", конечно.
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626463
organism
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
umka_max,

авторЗачем вообще в java существуют static-методы? По ошибке их ввели или как?

Навскидку как минимум 2 случая:

1. Реализация паттерна "Singleton" (возможно самый показательный)
2. Утилиты для работы, к примеру, со строками или датой, где инстанцирование конкретного экземпляра в принципе не нужно
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626467
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто прогал на Сях тот даже не задаёт подобных вопросов.
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626514
Фотография Паша01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
organismНавскидку как минимум 2 случая:
3 случай - это запуск программы, метод main!
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626695
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
native вызовы.
...
Рейтинг: 0 / 0
Почему использовать static-методы "плохо"?
    #38626746
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
umka_maxНа собеседовании задали такой вопрос.
Вот так вот просто, без контекста.
ИМХО, тот, кто спросил скорее всего сам вчера-позавчера вычитал где-нибудь : )
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему использовать static-методы "плохо"?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]