|
|
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
На собеседовании задали такой вопрос. Вот так вот просто, без контекста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 17:43 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
С подвохом вопрос, если их использовать "плохо", то зачем бы их стали создавать? Тут я бы просто ответил, все, что знаю про них, где и когда их уместно использовать, все по учебнику, короче. Также важно, что на static-методы не распространяется полиморфиз, поэтому их часто используют в final-классах. Ну и все в таком духе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 18:33 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
В таких вопросах, видимо, надо ответить то, что предполагает услышать за ответ автор. По всей видимости, надо рассказать о случаях, когда такое - плохо. скорей всего, имеется в виду, что если метод не статический, то ему можно подсунуть другой обьект с другой реализацией, а если зовешь статический - то такого не сделать. Подсуньте, например вместо Math.sin реализацию, которая бы дополнительно к вычислению синуса считала, сколько раз ее позвали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 18:49 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
chabapok... По всей видимости, надо рассказать о случаях, когда такое - плохо. ... Это и имелось ввиду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 18:56 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Паша01С подвохом вопрос, если их использовать "плохо", то зачем бы их стали создавать? Тут я бы просто ответил, все, что знаю про них, где и когда их уместно использовать, все по учебнику, короче. Также важно, что на static-методы не распространяется полиморфиз, поэтому их часто используют в final-классах. Ну и все в таком духе. А что не-static методы нельзя использовать в final-классах??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:15 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. Именно методы? Вопрос "почему" не является корректным. Более точным вопросом было бы "Когда...", или "В каких случаях..." Есть масса примеров, когда без статических методов не обойтись. А на собеседовании, конечно же стоило рассказать и про полиморфизм и про состояние, а так же единение данных с поведением и прочее ООП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:26 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, а что про состояние такого рассказать можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:32 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczumka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. Именно методы? Вопрос "почему" не является корректным. Более точным вопросом было бы "Когда...", или "В каких случаях..." Есть масса примеров, когда без статических методов не обойтись. А на собеседовании, конечно же стоило рассказать и про полиморфизм и про состояние, а так же единение данных с поведением и прочее ООП. Ну мне как-то даже и в голову не приходило связывать static и полиморфизм (про статический полиморфизм только сейчас узнал). А можно подробнее о: 1. автор...и про состояние, а так же единение данных с поведением и прочее ООП... 2. Хотя бы пару из "массы примеров"? Мне думается, что это, в принципе, мне известно. Просто хочется убедиться и систематизировать как-то. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:37 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_max, umka_maxпро статический полиморфизм только сейчас узнал мне расскажешь? я никогда таких буквосочетаний не встречал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:50 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_max2. Хотя бы пару из "массы примеров"? Мне думается, что это, в принципе, мне известно. Просто хочется убедиться и систематизировать как-то. :) Можно часто столкнуться с ситуацией, что какой-то новый метод не понятно куда бы запихать и тогда его от безысходности пихают в MyBusinessLogicHelper и используют из других методов. Такой метод принимает какие-то объекты, и оперирует их состоянием, нарушая всяческую инкапсуляцию. Так возникает Anemic Domain Model. При правильном дизайне логика находится как можно ближе к состоянию, которым она оперирует. И статические методы имеют право на жизнь лишь в некоторых ограниченных сценариях вроде фабрик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 19:58 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
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 будет. ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 20:00 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
questionerмне расскажешь? я никогда таких буквосочетаний не встречал Not static, not final, not private методы являются виртуальными. Вызов нужного метода определяется в рантайме "динамически". Статический же полиморфизм это, полиморфизм разруливающийся в compile-time - method overload, hiding для static методов и полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 20:03 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 20:05 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczumka_max2. Хотя бы пару из "массы примеров"? Мне думается, что это, в принципе, мне известно. Просто хочется убедиться и систематизировать как-то. :) Можно часто столкнуться с ситуацией, что какой-то новый метод не понятно куда бы запихать и тогда его от безысходности пихают в MyBusinessLogicHelper и используют из других методов. Такой метод принимает какие-то объекты, и оперирует их состоянием, нарушая всяческую инкапсуляцию. Так возникает Anemic Domain Model. При правильном дизайне логика находится как можно ближе к состоянию, которым она оперирует. И статические методы имеют право на жизнь лишь в некоторых ограниченных сценариях вроде фабрик. Ну это, как бы, само собой разумеется. :) Просто как-то даже и в голову не приходило, что в таком ключе могут вопрос поставить. Вот и вводят такие вопросы в ступор. А по первому пункту? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 20:09 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. Вопрос-провокация. Зачем вообще в java существуют static-методы? По ошибке их ввели или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 21:17 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
maytonumka_maxНа собеседовании задали такой вопрос. Вот так вот просто, без контекста. Вопрос-провокация. Зачем вообще в java существуют static-методы? По ошибке их ввели или как? Ну вот и мне интересно "зачем" они нужны? ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 21:29 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_maxmaytonпропущено... Вопрос-провокация. Зачем вообще в java существуют static-методы? По ошибке их ввели или как? Ну вот и мне интересно "зачем" они нужны? ))) Ты использовал когда-нибудь Math ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 21:33 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
maytonumka_maxпропущено... Ну вот и мне интересно "зачем" они нужны? ))) Ты использовал когда-нибудь Math ? Использовал. И? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 21:48 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_maxmaytonпропущено... Ты использовал когда-нибудь Math ? Использовал. И? Использовал и так и не понял почему там static методы. Ну попробуй представить как-бы ты работал с синусами каждый раз создавая экземпляр объекта который никому не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 22:14 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
maytonumka_maxпропущено... Использовал. И? Использовал и так и не понял почему там static методы. Ну попробуй представить как-бы ты работал с синусами каждый раз создавая экземпляр объекта который никому не нужен. Таким образом, static-методы нужны для работы с "синусами"? Осталось ответить на более общий "вопрос-провокацию": авторЗачем вообще в java существуют static-методы? По ошибке их ввели или как? Ну вот прям буквально ответить, не задавая встречных вопросов. Я это все к чему... Я не придуриваюсь, а просто хочу выяснить правильно ли понимаю предмет. Ну и заодно понять за каким хером интервьюер задает такие вопросы, которые нужно уточнять? ))) Мне, в принципе, и этого 15938045 хватило. Плюс "синусы", конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2014, 22:33 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
umka_max, авторЗачем вообще в java существуют static-методы? По ошибке их ввели или как? Навскидку как минимум 2 случая: 1. Реализация паттерна "Singleton" (возможно самый показательный) 2. Утилиты для работы, к примеру, со строками или датой, где инстанцирование конкретного экземпляра в принципе не нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2014, 11:20 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
Кто прогал на Сях тот даже не задаёт подобных вопросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2014, 11:23 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
organismНавскидку как минимум 2 случая: 3 случай - это запуск программы, метод main! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2014, 13:41 |
|
||
|
Почему использовать static-методы "плохо"?
|
|||
|---|---|---|---|
|
#18+
native вызовы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2014, 21:01 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38626695&tid=2127267]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
215ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
| others: | 303ms |
| total: | 650ms |

| 0 / 0 |
