|
|
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Народ такой вопрос по джаве. Долго копал может кто подскажет. есть файл test.java: class parent { public String var="parent"; public void printvar() { System.out.println(var); } } class child extends parent { public String var="child"; } class test { public static void main(String[] args) { child c = new child(); c.printvar(); } } Печатает "parent". Как сделать чтобы наследовалось значение поля ? Заранее спасибо ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:07:37 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
добавить getVar() {return var;} и дергать его Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:10:13 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Спасибо .. А если таких полей очень много ? Для каждого getfield добавлять ? Может есть более простое решение ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:11:38 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
а поле наследуется, а то что ты подразумеваешь - никак! делай типа в обоих классах Код: plaintext Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:13:02 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
am_sasaа поле наследуется, а то что ты подразумеваешь - никак! делай типа в обоих классах Код: plaintext Код: plaintext 1. 2. Так и сделал - заработало. Может просто кто знает через Reflection можно сделать быстро для болшого количества таких варов в классе ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:15:37 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleМожет просто кто знает через Reflection можно сделать быстро для болшого количества таких варов в классе ? Что пустом начинаешь разводить ненужную сложность. Для того примера что ты привел, зачем там вообще наследование? Может можно все проще сделать? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:21:07 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
vas0 _fromoracleМожет просто кто знает через Reflection можно сделать быстро для болшого количества таких варов в классе ? Что пустом начинаешь разводить ненужную сложность. Для того примера что ты привел, зачем там вообще наследование? Может можно все проще сделать? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Типа самый умный ? Я знаю что для моего примера можно без наследования. Тока мой пример сам по себе мне не нужен ... Вопрос был именно в механизме передачи констант родителю .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:29:45 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Типа самый умный ? Я знаю что для моего примера можно без наследования. Тока мой пример сам по себе мне не нужен ... Вопрос был именно в механизме передачи констант родителю .. Если бы вы всё делали по уму — такой проблемы не стояло бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:35:17 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Софтверный проктолог _fromoracle Типа самый умный ? Я знаю что для моего примера можно без наследования. Тока мой пример сам по себе мне не нужен ... Вопрос был именно в механизме передачи констант родителю .. Если бы вы всё делали по уму — такой проблемы не стояло бы. По уму имеется ввиду с использованием getfield() для каждого поля ? Или ещё что то другое ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:36:52 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle По уму имеется ввиду с использованием getfield() для каждого поля ? Или ещё что то другое ? Да. Знакомо выражение Java Bean? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:47:45 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Софтверный проктолог _fromoracle По уму имеется ввиду с использованием getfield() для каждого поля ? Или ещё что то другое ? Да. Знакомо выражение Java Bean? Я вот не понимаю зачем флуд разводить ? Да знакомо. Уже попробывал через getfield() - заработало. Тока представь что класс содержит 100 таких варов и таких 50 отнаследованных классов. Все функциональность посути в parent а в каждом из детей она может быть опционально переопределена. Можно тупо для каждого из полей писать в коде getfield(). Вопрос был в иллегантности решения. Типа как PHP есть такая фича как auto_loaders. Типа он автоматически понимает getfield и тупо ручками в код его писать не надо ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 14:51:54 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Тока представь что класс содержит 100 таких варов и таких 50 отнаследованных классов. Все функциональность посути в parent а в каждом из детей она может быть опционально переопределена. Можно тупо для каждого из полей писать в коде getfield(). Вопрос был в иллегантности решения. Типа как PHP есть такая фича как auto_loaders. Типа он автоматически понимает getfield и тупо ручками в код его писать не надо ... Тут есть два варианта. Можно своровать IDEA и с помощью его механизмов рефакторинга попыться быстро и элегантно перестроить прямые обращения на getter'ы как в основном классе, так и во всех наследуемых. Или взять бесплатный Eclipse и посмотреть, что он предлагает в плане рефакторинга. Не исключено, что хватит и его возможностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 16:00:08 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Типа он автоматически понимает getfield и тупо ручками в код его писать не надо ... Дополнительно уточняю, что для этого есть такая вещь как автоматические средства рефакторинга кода, которые заменяют существующие вызовы. А когда пишешь новый класс — нет никакой разницы, использовать геттер или переменную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 16:01:48 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Ок ясно. Буду копать. Спасибо за советы ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 16:05:55 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
То что есть костыли для кривых решений отнюдь не значит, что надо этими кривыми решениями пользоваться. Сначала надо бы язык выучить, а потом уже претензии предъявлять. JavaBean тебе только знаком, не более того. Зачем это нужно и как это применять ты без понятия. Это раз. Рефлексия нужна только в очень крайних случаях, как правило при создании библиотек типа Wicket и им подобных. Сейчас, насколько я понимаю, ее заменяют аннотациями (хотя может и не прав). Это два. Учи ООП - это три. Любая нормальная IDE умеет сама делать get/set-методы для указанных переменных (Eclipse точно умеет). Это четыре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 16:21:32 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
LeonidvТо что есть костыли для кривых решений отнюдь не значит, что надо этими кривыми решениями пользоваться. Сначала надо бы язык выучить, а потом уже претензии предъявлять. JavaBean тебе только знаком, не более того. Зачем это нужно и как это применять ты без понятия. Это раз. Рефлексия нужна только в очень крайних случаях, как правило при создании библиотек типа Wicket и им подобных. Сейчас, насколько я понимаю, ее заменяют аннотациями (хотя может и не прав). Это два. Учи ООП - это три. Любая нормальная IDE умеет сама делать get/set-методы для указанных переменных (Eclipse точно умеет). Это четыре. Претензий я ни к кому не предъявляю. "JavaBean тебе только знаком, не более того. Зачем это нужно и как это применять ты без понятия" Ну как вам сказать для моих задач хватает только того что называют сессионными объектами сервлетов. Может где то их и более активно применяют не знаю не сталкивался. Но что такое JavaBean "Рефлексия нужна только в очень крайних случаях" - абсолютно не согласен... "Учи ООП - это три" - Спасибо за совет, как нить сам разберусь ок ? "Любая нормальная IDE умеет сама делать get/set-методы для указанных переменных" - я пишу в обычно текстовом редакторе без IDE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 16:41:49 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle "Рефлексия нужна только в очень крайних случаях" - абсолютно не согласен... Ты используешь в рабочем коде что-то кроме Class.forName? Приведи пример, пожалуйста. Ну, чтобы это было очень необходимо? _fromoracle "Любая нормальная IDE умеет сама делать get/set-методы для указанных переменных" - я пишу в обычно текстовом редакторе без IDE. Зря. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 16:50:31 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Софтверный проктолог _fromoracle "Рефлексия нужна только в очень крайних случаях" - абсолютно не согласен... Ты используешь в рабочем коде что-то кроме Class.forName? Приведи пример, пожалуйста. Ну, чтобы это было очень необходимо? _fromoracle "Любая нормальная IDE умеет сама делать get/set-методы для указанных переменных" - я пишу в обычно текстовом редакторе без IDE. Зря. Плюстыща. А вообще именно в этом топике ник пришелся как нельзя в тему :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:00:09 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Софтверный проктолог _fromoracle "Рефлексия нужна только в очень крайних случаях" - абсолютно не согласен... Ты используешь в рабочем коде что-то кроме Class.forName? Приведи пример, пожалуйста. Ну, чтобы это было очень необходимо? _fromoracle "Любая нормальная IDE умеет сама делать get/set-методы для указанных переменных" - я пишу в обычно текстовом редакторе без IDE. Зря. "Приведи пример, пожалуйста. Ну, чтобы это было очень необходимо" Пожалуйста: Есть класс внутри проперти инициализируюся функциями. Типа class test { Object properties[] = { "list1" , source.list1() , "list2" , source.list2() , ...... "listn" , source.listn(); }; } Есть объект test t = new test(); Необходимо рефрешнуть properties внутри объекта t, т.е. чтобы заново запустились list1 .. listn. n может принимать значения больше 1000. Я конечно понимаю что можно и ручками наваять че нить типа public void setproperties() { Object properties[] = { "list1" , source.list1() , "list2" , source.list2() , ...... "listn" , source.listn(); }; } и в конструкторе дёргать this.setproperties(); И далее написать t.setproperties(); Но более красиво сделать так: test newinstance = (test)t.getClass().newInstance(); t.setproperties(newinstance.getproperties()); При таком подходе улучшается наглядность кода внутри класса, сразу видно какие переменные чем инициализируются. по поводу IDE на вкус и цвет как известно ... В том же NetBeans например нету автоматической закачки по FTP не сервер написанного кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:11:38 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший Софтверный проктолог _fromoracle "Рефлексия нужна только в очень крайних случаях" - абсолютно не согласен... Ты используешь в рабочем коде что-то кроме Class.forName? Приведи пример, пожалуйста. Ну, чтобы это было очень необходимо? _fromoracle "Любая нормальная IDE умеет сама делать get/set-методы для указанных переменных" - я пишу в обычно текстовом редакторе без IDE. Зря. Плюстыща. А вообще именно в этом топике ник пришелся как нельзя в тему :) Чей ник ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:12:30 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleПожалуйста: Есть класс внутри проперти инициализируюся функциями. Типа class test { Object properties[] = { "list1" , source.list1() , "list2" , source.list2() , ...... "listn" , source.listn(); }; } Есть объект test t = new test(); Необходимо рефрешнуть properties внутри объекта t, т.е. чтобы заново запустились list1 .. listn. n может принимать значения больше 1000. Я конечно понимаю что можно и ручками наваять че нить типа public void setproperties() { Object properties[] = { "list1" , source.list1() , "list2" , source.list2() , ...... "listn" , source.listn(); }; } и в конструкторе дёргать this.setproperties(); И далее написать t.setproperties(); Но более красиво сделать так: test newinstance = (test)t.getClass().newInstance(); t.setproperties(newinstance.getproperties()); При таком подходе улучшается наглядность кода внутри класса, сразу видно какие переменные чем инициализируются. Э...А...ёпрст. Дальше забанено самоцензурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:25:17 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleЧей ник ? Софтверного Проктолога. Очень точно определяет описанное "арихитектурко типо Превед" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:26:02 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Пожалуйста: Есть класс внутри проперти инициализируюся функциями. Типа class test { Object properties[] = { "list1" , source.list1() , "list2" , source.list2() , ...... "listn" , source.listn(); }; } Есть объект test t = new test(); Необходимо рефрешнуть properties внутри объекта t, т.е. чтобы заново запустились list1 .. listn. n может принимать значения больше 1000. Я конечно понимаю что можно и ручками наваять че нить типа public void setproperties() { Object properties[] = { "list1" , source.list1() , "list2" , source.list2() , ...... "listn" , source.listn(); }; } и в конструкторе дёргать this.setproperties(); И далее написать t.setproperties(); Но более красиво сделать так: test newinstance = (test)t.getClass().newInstance(); t.setproperties(newinstance.getproperties()); При таком подходе улучшается наглядность кода внутри класса, сразу видно какие переменные чем инициализируются. Эээээээээээээээ... Это каг таг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:27:58 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Да кстати для тех кто уже уже посмеялся и сказал "test newinstance = (test)t.getClass().newInstance(); t.setproperties(newinstance.getproperties()); Заменить на test newinstance = new test() test.setproperties(newinstance.getproperties()); И никакой рефлексии Усложним вернее приблизим схему к реальной когда class test { Object properties[] = { "list1" , source.list1() , "list2" , source.list2() , ...... "listn" , source.listn(); }; } Помимо test есть отнаследованные childtest1 ... childtestn. И В каждом из child-ов так инициализируется properties. А далее внутри метода из test необходимо превести указанную процедуру для текущего объекта this. Тут уж new test() не прокатит. Остаётся только test newinstance = (test)this.getClass().newInstance(); this.setproperties(newinstance.getproperties()); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:29:50 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracleЧей ник ? Софтверного Проктолога. Очень точно определяет описанное "арихитектурко типо Превед" По-русски научись говорить ...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:31:42 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Зашедший _fromoracleЧей ник ? Софтверного Проктолога. Очень точно определяет описанное "арихитектурко типо Превед" По-русски научись говорить ...... Мну в основном платят за умение софт писать и на аглицком чутка ботать, такшта не парит К тому же, как показывает Ваш пример, умение писать на русском очевидно отняло способность писать вменяемый код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:33:16 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleДа кстати для тех кто уже уже посмеялся и сказал "test newinstance = (test)t.getClass().newInstance(); t.setproperties(newinstance.getproperties()); Заменить на test newinstance = new test() test.setproperties(newinstance.getproperties()); И никакой рефлексии Усложним вернее приблизим схему к реальной когда class test { Object properties[] = { "list1" , source.list1() , "list2" , source.list2() , ...... "listn" , source.listn(); }; } Помимо test есть отнаследованные childtest1 ... childtestn. И В каждом из child-ов так инициализируется properties. А далее внутри метода из test необходимо превести указанную процедуру для текущего объекта this. Тут уж new test() не прокатит. Остаётся только test newinstance = (test)this.getClass().newInstance(); this.setproperties(newinstance.getproperties()); Вот честно - я бы любого кандидата, пришедшего на собеседование, за такой код в тесте тут же, сразу и бесповоротно, выгонял бы. Потому что безнадежный случай. В случае, если у нас пропертя именованные (а тут так и есть) надо как минимум использовать типизированный Map. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:36:08 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracle Зашедший _fromoracleЧей ник ? Софтверного Проктолога. Очень точно определяет описанное "арихитектурко типо Превед" По-русски научись говорить ...... Мну в основном платят за умение софт писать и на аглицком чутка ботать, такшта не парит К тому же, как показывает Ваш пример, умение писать на русском очевидно отняло способность писать вменяемый код. "отняло способность писать вменяемый код" - откуда Вввы это взяли ? Вы видели мой реальный код ? На это форуме лишь вопрос и пара сверстаных на коленях примеров. "такшта не парит" Ага а когда в магазин заходите на Jave с продавщицей общаетесь ?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:38:06 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle"отняло способность писать вменяемый код" - откуда Вввы это взяли ? Вы видели мой реальный код ? На это форуме лишь вопрос и пара сверстаных на коленях примеров. Я вижу описанный пример - такого маразма не наблюдал уже очень давно. Можно много чего сверстать на коленке, но такой код - ч0ткий показатель, что у Вас крайне мало опыта в работе на Яве и - более обще - работы с ООП. Возможно, следствие перехода с pl/sql - слишком уж разные идеологии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:42:32 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracleДа кстати для тех кто уже уже посмеялся и сказал "test newinstance = (test)t.getClass().newInstance(); t.setproperties(newinstance.getproperties()); Заменить на test newinstance = new test() test.setproperties(newinstance.getproperties()); И никакой рефлексии Усложним вернее приблизим схему к реальной когда class test { Object properties[] = { "list1" , source.list1() , "list2" , source.list2() , ...... "listn" , source.listn(); }; } Помимо test есть отнаследованные childtest1 ... childtestn. И В каждом из child-ов так инициализируется properties. А далее внутри метода из test необходимо превести указанную процедуру для текущего объекта this. Тут уж new test() не прокатит. Остаётся только test newinstance = (test)this.getClass().newInstance(); this.setproperties(newinstance.getproperties()); Вот честно - я бы любого кандидата, пришедшего на собеседование, за такой код в тесте тут же, сразу и бесповоротно, выгонял бы. Потому что безнадежный случай. В случае, если у нас пропертя именованные (а тут так и есть) надо как минимум использовать типизированный Map. Напишите, пожалуйста, пример с мапом чтобы внутри объявления переменной проинициализировать можно было .... Я может не такой гениальный чего не дочитал ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:42:53 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracle"отняло способность писать вменяемый код" - откуда Вввы это взяли ? Вы видели мой реальный код ? На это форуме лишь вопрос и пара сверстаных на коленях примеров. Я вижу описанный пример - такого маразма не наблюдал уже очень давно. Можно много чего сверстать на коленке, но такой код - ч0ткий показатель, что у Вас крайне мало опыта в работе на Яве и - более обще - работы с ООП. Возможно, следствие перехода с pl/sql - слишком уж разные идеологии. Это лишь показатель малого опыта работы по вашими непосредственным руководством. И не более того. Где вы здесь видите проблемы с ООП ? Обычно наследование пропертей и вообще больше ничего нет.... А если бы вы написали через Map, то как бы переинициализировали ? Тоже не ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:46:15 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleЯ может не такой гениальный чего не дочитал ... 1. Зачем это инициализировать внутри объявления переменной? Добавить метод init() и вызывать внутри конструктора - не судьба? 2. Зачем хранить данные в массиве Object? Да еще "черезполосицу"?! 3. Что такое "source.list1()"? Вызов метода статического инстанса, вызов статического метода? Какой смысл вообще несет? Почем нельзя сделать метод с параметром ("list(int param)") вместо "тысячи методов", отличающихся только номером? В общем, вопросов сей код вызывает столько, что непонятно, зачем вообще вся эта фигня написана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:47:25 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Кстати по поводу идеологий. Вы мне обясните в чем маразм подобного хранения данных в Java ? Он внутри Mapa их специально архивирует или что ? Кстати массив я использую исключительно из за того что не нашёл как сделать ченить подобное Map m = new HashMap( list1 => source.newlist1 , list2 => source.newlist2 , ... listn => source.newlistn , ); Приходится для наглядности так выкручиваться а потом уже из такого проинициализированного массива стряпать Map и работать с ним ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:50:44 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracleЯ может не такой гениальный чего не дочитал ... 1. Зачем это инициализировать внутри объявления переменной? Добавить метод init() и вызывать внутри конструктора - не судьба? 2. Зачем хранить данные в массиве Object? Да еще "черезполосицу"?! 3. Что такое "source.list1()"? Вызов метода статического инстанса, вызов статического метода? Какой смысл вообще несет? Почем нельзя сделать метод с параметром ("list(int param)") вместо "тысячи методов", отличающихся только номером? В общем, вопросов сей код вызывает столько, что непонятно, зачем вообще вся эта фигня написана. Эта фигня написана как пример использование рефакторинга. В реальности это не list1 .. listn а реальные имена. и методы тоже совсем совсем разные. Это своего рода конфигурилка начальных значений класса. Так написано для удобства работы и наглядностиююю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:52:52 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleПриходится для наглядности так выкручиваться а потом уже из такого проинициализированного массива стряпать Map и работать с ним ... Можно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. По поводу рефлексии. Общеизвестно, что основные ее недостатки - снижение читаемости кода, и более медленное выполнение. Так что говорить что рефлексия помогает сделать код более читаемым в корне не верно, через неделю будешь смотреть на него и мучительно вспоминать что же за гениальную мысль ты реализовывал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 17:59:49 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Зашедший _fromoracleЯ может не такой гениальный чего не дочитал ... 1. Зачем это инициализировать внутри объявления переменной? Добавить метод init() и вызывать внутри конструктора - не судьба? 2. Зачем хранить данные в массиве Object? Да еще "черезполосицу"?! 3. Что такое "source.list1()"? Вызов метода статического инстанса, вызов статического метода? Какой смысл вообще несет? Почем нельзя сделать метод с параметром ("list(int param)") вместо "тысячи методов", отличающихся только номером? В общем, вопросов сей код вызывает столько, что непонятно, зачем вообще вся эта фигня написана. Эта фигня написана как пример использование рефакторинга. В реальности это не list1 .. listn а реальные имена. и методы тоже совсем совсем разные. Это своего рода конфигурилка начальных значений класса. Так написано для удобства работы и наглядностиююю То есть ЭТО - рефакторинг? А написать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 18:03:16 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Но более красиво сделать так: test newinstance = (test)t.getClass().newInstance(); t.setproperties(newinstance.getproperties()); При таком подходе улучшается наглядность кода внутри класса, сразу видно какие переменные чем инициализируются. Учи ООП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 18:34:11 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
kest_ru _fromoracleПриходится для наглядности так выкручиваться а потом уже из такого проинициализированного массива стряпать Map и работать с ним ... Можно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. По поводу рефлексии. Общеизвестно, что основные ее недостатки - снижение читаемости кода, и более медленное выполнение. Так что говорить что рефлексия помогает сделать код более читаемым в корне не верно, через неделю будешь смотреть на него и мучительно вспоминать что же за гениальную мысль ты реализовывал. Спасибо ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 19:25:07 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracle Зашедший _fromoracleЯ может не такой гениальный чего не дочитал ... 1. Зачем это инициализировать внутри объявления переменной? Добавить метод init() и вызывать внутри конструктора - не судьба? 2. Зачем хранить данные в массиве Object? Да еще "черезполосицу"?! 3. Что такое "source.list1()"? Вызов метода статического инстанса, вызов статического метода? Какой смысл вообще несет? Почем нельзя сделать метод с параметром ("list(int param)") вместо "тысячи методов", отличающихся только номером? В общем, вопросов сей код вызывает столько, что непонятно, зачем вообще вся эта фигня написана. Эта фигня написана как пример использование рефакторинга. В реальности это не list1 .. listn а реальные имена. и методы тоже совсем совсем разные. Это своего рода конфигурилка начальных значений класса. Так написано для удобства работы и наглядностиююю То есть ЭТО - рефакторинг? А написать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Я как вы правильно заметили новичок в Java но не в ООП и не в программировании. Так писать бы ни стал по скока конфигурить getProperties().put("list1", source.list1()); getProperties().put("list2", source.list2()); ... getProperties().put("listn", source.listn()); Неудобно ... Короче помоему криво это. Посмотрите скрипты на Perl сразу всё поймете ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 19:27:44 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Leonidv _fromoracle Но более красиво сделать так: test newinstance = (test)t.getClass().newInstance(); t.setproperties(newinstance.getproperties()); При таком подходе улучшается наглядность кода внутри класса, сразу видно какие переменные чем инициализируются. Учи ООП Я бы поправил не ООП а Java. С ООП вроде порядок ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 19:28:21 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleНарод такой вопрос по джаве. Долго копал может кто подскажет. есть файл test.java: class parent { public String var="parent"; public void printvar() { System.out.println(var); } } class child extends parent { public String var="child"; } class test { public static void main(String[] args) { child c = new child(); c.printvar(); } } Печатает "parent". Как сделать чтобы наследовалось значение поля ? Заранее спасибо ...Смотрел, смотрел, потом понял. У тебя ж метод printvar() выводит значение parent.var, о child.var он даже представления не имеет. Оверрайдить можно методы, а вот можно ли оверрайдить переменные? Походу в child есть 2 var: super.var и просто var. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 20:32:18 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
krjhocrkjh _fromoracleНарод такой вопрос по джаве. Долго копал может кто подскажет. есть файл test.java: class parent { public String var="parent"; public void printvar() { System.out.println(var); } } class child extends parent { public String var="child"; } class test { public static void main(String[] args) { child c = new child(); c.printvar(); } } Печатает "parent". Как сделать чтобы наследовалось значение поля ? Заранее спасибо ...Смотрел, смотрел, потом понял. У тебя ж метод printvar() выводит значение parent.var, о child.var он даже представления не имеет. Оверрайдить можно методы, а вот можно ли оверрайдить переменные? Походу в child есть 2 var: super.var и просто var. оверрайдить переменные в джаве походу нельзя. хотя this.var поидее должен выводить var объекта this. Да поначалу приходилось внутри child делать super.var = this.var; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 20:38:42 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Я как вы правильно заметили новичок в Java но не в ООП и не в программировании. Так писать бы ни стал по скока конфигурить getProperties().put("list1", source.list1()); getProperties().put("list2", source.list2()); ... getProperties().put("listn", source.listn()); Неудобно ... Короче помоему криво это. Посмотрите скрипты на Perl сразу всё поймете ... Вопрос не в том "скока конфигурить", вопрос в том, насколько легко поддерживать и сможет ли человек через год зайти в код и при необходимости легко поменять данные/процессы, обнаружить максимум ошибок на этапе компиляции (а не вчитываться потом до посинения в портянки стэктрейсов с NPE/ClassCastException). Когда проект делается не для "впарить клиенту и свалить побыстрее", а для того, чтобы как минимум несколько лет его можно было поддерживать и развивать - экономить на булавках смысла не имеет. Не говоря уже о том, что сама идея делать класс, зависящий от сотен и тем более тысяч настроек - крайне кривая арихитектура. В случае, когда много разных настроек и они на всякое влияют - имхо надо смотреть в сторону Command/State/Strategy и разбивать весь этот монолитный функционал с тысячей переменных на стройный и понятный набор небольших, задокументированных, легко тестируемых и поддерживаемых классов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 20:44:04 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracle Я как вы правильно заметили новичок в Java но не в ООП и не в программировании. Так писать бы ни стал по скока конфигурить getProperties().put("list1", source.list1()); getProperties().put("list2", source.list2()); ... getProperties().put("listn", source.listn()); Неудобно ... Короче помоему криво это. Посмотрите скрипты на Perl сразу всё поймете ... Вопрос не в том "скока конфигурить", вопрос в том, насколько легко поддерживать и сможет ли человек через год зайти в код и при необходимости легко поменять данные/процессы, обнаружить максимум ошибок на этапе компиляции (а не вчитываться потом до посинения в портянки стэктрейсов с NPE/ClassCastException). Когда проект делается не для "впарить клиенту и свалить побыстрее", а для того, чтобы как минимум несколько лет его можно было поддерживать и развивать - экономить на булавках смысла не имеет. Не говоря уже о том, что сама идея делать класс, зависящий от сотен и тем более тысяч настроек - крайне кривая арихитектура. В случае, когда много разных настроек и они на всякое влияют - имхо надо смотреть в сторону Command/State/Strategy и разбивать весь этот монолитный функционал с тысячей переменных на стройный и понятный набор небольших, задокументированных, легко тестируемых и поддерживаемых классов. А чем проблема поддерживать мою структуру ? Кстати при Object[] нивжизнь не наткнётесь на ClassCastException :) По поводу Command/State/Strategy - не знаю что это такое, так что ответить нечего. Не совсем понимаю т.е. для каждого из пропертей свой класс ? Может в этом и есть глубокий смысл, но мне видно не понять зачем ... "впарить клиенту" - да всё уже впарено, вот сижу догоняю как улучшит код. Наверное надо в команду идти уму разуму набираться, сразу стока много нового узнаешь, чего по книжкам никогда не догонишь, а потом через годик когда всё поймешь и станешь гуру задаешь себе вопрос а не**ра это было делать и лезешь в ветку форма "Java мне 35" .... Вот такие дела ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 20:57:18 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleМожно тупо для каждого из полей писать в коде getfield(). Вопрос был в иллегантности решения.А можно хотя бы в школе доучиться, прежде чем на форум с вопросами лезть. Вы ведь наверняка даже в ПТУ не отучились, сразу после 8-го класса армия, механик-водитель танка, да? Потом пару раз упал без парашюта, да? Головой. Я бы поправил не ООП а Java. С ООП вроде порядок ...Ты не то, что ООП, ты грамматику с орфографией не знаешь. Иллегантный. Чтоб тебе только иллегантные после литра виски давали. Тока представь что класс содержит 100 таких варов и таких 50 отнаследованных классов.Фамилии, явки, пароли. Это где так пишут, чтобы от них держаться подальше? Можно тупо для каждого из полей писать в коде getfield(). Вопрос был в иллегантности решения.В любой IDE сейчас есть пункт меню "Generate getters & setters" Тебе даже писать ничего не придется.Типа как PHP есть такая фича как auto_loaders. Типа он автоматически понимает getfield и тупо ручками в код его писать не надо ...Стоп. Зачем тогда тебе жаба? PHP в зубы и педаль до посинения. Стране нужны герои. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:00:08 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
krjhocrkjh _fromoracleМожно тупо для каждого из полей писать в коде getfield(). Вопрос был в иллегантности решения.А можно хотя бы в школе доучиться, прежде чем на форум с вопросами лезть. Вы ведь наверняка даже в ПТУ не отучились, сразу после 8-го класса армия, механик-водитель танка, да? Потом пару раз упал без парашюта, да? Головой. Я бы поправил не ООП а Java. С ООП вроде порядок ...Ты не то, что ООП, ты грамматику с орфографией не знаешь. Иллегантный. Чтоб тебе только иллегантные после литра виски давали. Тока представь что класс содержит 100 таких варов и таких 50 отнаследованных классов.Фамилии, явки, пароли. Это где так пишут, чтобы от них держаться подальше? Можно тупо для каждого из полей писать в коде getfield(). Вопрос был в иллегантности решения.В любой IDE сейчас есть пункт меню "Generate getters & setters" Тебе даже писать ничего не придется. Типа как PHP есть такая фича как auto_loaders. Типа он автоматически понимает getfield и тупо ручками в код его писать не надо ...Стоп. Зачем тогда тебе жаба? PHP в зубы и педаль до посинения. Стране нужны герои. Ну что тут скажешь. На этот бред ответить даже нечего просто посылаю на и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:03:47 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Кстати при Object[] нивжизнь не наткнётесь на ClassCastException :) наивный чукоцкий мальчег ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:05:47 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
это клиника. _fromoracle Кстати при Object[] нивжизнь не наткнётесь на ClassCastException :) наивный чукоцкий мальчег все флудеры и бердогенераторы в сад топик можно закрывать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:08:11 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleВ том же NetBeans например нету автоматической закачки по FTP не сервер написанного кода.PHP в зубы, там есть скрипты для такой сложной задачи. NetBeans деплоит war-ы на сервер сам. Не знаешь, что такое war-ы? А .ул. ты на форуме вопросы задаешь, не прочитав http://www.sql.ru/forum/actualthread.aspx?tid=227954? и в конструкторе дёргать this.setproperties(); И далее написать t.setproperties();Ничего не понял, кто на ком стоял? Когда сначала дергать t.setproperties, вначале или вконструкторе? Заменить на test newinstance = new test() test.setproperties(newinstance.getproperties()); И никакой рефлексииА зачем вообще там рефлексия? Типа модно? "Эй, чувак, посмотри на меня, делай как я, делай как я!" ? Ы? В общем, вопросов сей код вызывает столько, что непонятно, зачем вообще вся эта фигня написана.За жабу больше платят, чем за похапэ, вот поэтому эта вся фигня и пишется Кстати массив я использую исключительно из за того что не нашёл как сделать ченить подобноеЯ с жабой уже 4 года разбираюсь. Это к тому, что если не нашёл, значит быстро искал. Годика через 3-4 приходи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:13:36 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle А чем проблема поддерживать мою структуру ? Кстати при Object[] нивжизнь не наткнётесь на ClassCastException :) По поводу Command/State/Strategy - не знаю что это такое, так что ответить нечего. Не совсем понимаю т.е. для каждого из пропертей свой класс ? Может в этом и есть глубокий смысл, но мне видно не понять зачем ... "впарить клиенту" - да всё уже впарено, вот сижу догоняю как улучшит код. Наверное надо в команду идти уму разуму набираться, сразу стока много нового узнаешь, чего по книжкам никогда не догонишь, а потом через годик когда всё поймешь и станешь гуру задаешь себе вопрос а не**ра это было делать и лезешь в ветку форма "Java мне 35" .... Вот такие дела ... При Object? Запросто, как только вместо String потребуется класть свойство посложнее - тогда, чтобы его в нормальном виде получить, надо будет этот самый Object из массива приводить к энтому классу, а оператор-забивальщик всего этого пис оф крапа случайно забыл добавить наименование три тыщи четыреста десятого пропертя, в итоге индекс съехал на единицу и вместо MyPropertyClass под индексом 3411 в массиве лежит банальный стринг. В итоге - здравствуйте, уважаемые пользователи. Далее, что такое State/Command/Strategy - можно прочитать в любой книжке типа "Объектно-ориентированный дизайн для подготовительной группы детского сада". То, что Вы не знаете таких страшных словей - серьезный показатель. Оно, конечно, шаблоны GoF - не догма, но мозги на место ставят хорошо. Еще очень советую популярное книшко Фаулера "Рефакторинг". Там можно посмотреть описание того, что есть рефакторинг на самом деле, а не выдумывать собственное представление об этом понятии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:14:38 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
krjhocrkjh _fromoracleВ том же NetBeans например нету автоматической закачки по FTP не сервер написанного кода.PHP в зубы, там есть скрипты для такой сложной задачи. NetBeans деплоит war-ы на сервер сам. Не знаешь, что такое war-ы? А .ул. ты на форуме вопросы задаешь, не прочитав http://www.sql.ru/forum/actualthread.aspx?tid=227954? и в конструкторе дёргать this.setproperties(); И далее написать t.setproperties();Ничего не понял, кто на ком стоял? Когда сначала дергать t.setproperties, вначале или вконструкторе? Заменить на test newinstance = new test() test.setproperties(newinstance.getproperties()); И никакой рефлексииА зачем вообще там рефлексия? Типа модно? "Эй, чувак, посмотри на меня, делай как я, делай как я!" ? Ы? В общем, вопросов сей код вызывает столько, что непонятно, зачем вообще вся эта фигня написана.За жабу больше платят, чем за похапэ, вот поэтому эта вся фигня и пишется Кстати массив я использую исключительно из за того что не нашёл как сделать ченить подобноеЯ с жабой уже 4 года разбираюсь. Это к тому, что если не нашёл, значит быстро искал. Годика через 3-4 приходи. Куда приходить ? Это ваш личный форум ? Залез задал начинающий вопрос, кто смог - тот ответил. То что вы такой умный сидите тут и хамите ничинающим - вот это действительно серьёзный показатель ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:25:17 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracle А чем проблема поддерживать мою структуру ? Кстати при Object[] нивжизнь не наткнётесь на ClassCastException :) По поводу Command/State/Strategy - не знаю что это такое, так что ответить нечего. Не совсем понимаю т.е. для каждого из пропертей свой класс ? Может в этом и есть глубокий смысл, но мне видно не понять зачем ... "впарить клиенту" - да всё уже впарено, вот сижу догоняю как улучшит код. Наверное надо в команду идти уму разуму набираться, сразу стока много нового узнаешь, чего по книжкам никогда не догонишь, а потом через годик когда всё поймешь и станешь гуру задаешь себе вопрос а не**ра это было делать и лезешь в ветку форма "Java мне 35" .... Вот такие дела ... При Object? Запросто, как только вместо String потребуется класть свойство посложнее - тогда, чтобы его в нормальном виде получить, надо будет этот самый Object из массива приводить к энтому классу, а оператор-забивальщик всего этого пис оф крапа случайно забыл добавить наименование три тыщи четыреста десятого пропертя, в итоге индекс съехал на единицу и вместо MyPropertyClass под индексом 3411 в массиве лежит банальный стринг. В итоге - здравствуйте, уважаемые пользователи. Далее, что такое State/Command/Strategy - можно прочитать в любой книжке типа "Объектно-ориентированный дизайн для подготовительной группы детского сада". То, что Вы не знаете таких страшных словей - серьезный показатель. Оно, конечно, шаблоны GoF - не догма, но мозги на место ставят хорошо. Еще очень советую популярное книшко Фаулера "Рефакторинг". Там можно посмотреть описание того, что есть рефакторинг на самом деле, а не выдумывать собственное представление об этом понятии. Я в том месте где первый раз упомянул рефакторинг, имел ввиду рефлексию - это в раздумьях очепятался.... По поводу всего остального ну не нужно мне это, так понятнее выражаюсь ??? Мне нужно было просто увидеть в родителе переменную ребёнка. Как нужно будет обязательно открою отдельный топик и спрошу вас об этом ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:30:40 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleЗалез задал начинающий вопрос, кто смог - тот ответил. Вопрос был неправильный. Надо спрашивать не "с какой стороны за микроскоп браться удобнее, чтобы гвоздь забиь", а "как им (микроскопом) правильно пользоваться" или, в крайнем случае, "где можно взять молоток". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:32:14 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleПо поводу всего остального ну не нужно мне это, так понятнее выражаюсь ??? A!(c) Вопросов и комментариев больше не имею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:33:57 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracleЗалез задал начинающий вопрос, кто смог - тот ответил. Вопрос был неправильный. Надо спрашивать не "с какой стороны за микроскоп браться удобнее, чтобы гвоздь забиь", а "как им (микроскопом) правильно пользоваться" или, в крайнем случае, "где можно взять молоток". Я так подозреваю что зашедший и krjhocrkjh это одно лицо. Причем лицо тяжело больное и травмированное. Господа модераторы забаньте этого Java-робота пожалуйста. Нормальным людям жить не дают ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:36:04 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Зашедший _fromoracleЗалез задал начинающий вопрос, кто смог - тот ответил. Вопрос был неправильный. Надо спрашивать не "с какой стороны за микроскоп браться удобнее, чтобы гвоздь забиь", а "как им (микроскопом) правильно пользоваться" или, в крайнем случае, "где можно взять молоток". Я так подозреваю что зашедший и krjhocrkjh это одно лицо. Причем лицо тяжело больное и травмированное. Господа модераторы забаньте этого Java-робота пожалуйста. Нормальным людям жить не дают ... Смеялсо. Немножко позитива не бывает лишним, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:38:02 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracle Зашедший _fromoracleЗалез задал начинающий вопрос, кто смог - тот ответил. Вопрос был неправильный. Надо спрашивать не "с какой стороны за микроскоп браться удобнее, чтобы гвоздь забиь", а "как им (микроскопом) правильно пользоваться" или, в крайнем случае, "где можно взять молоток". Я так подозреваю что зашедший и krjhocrkjh это одно лицо. Причем лицо тяжело больное и травмированное. Господа модераторы забаньте этого Java-робота пожалуйста. Нормальным людям жить не дают ... Смеялсо. Немножко позитива не бывает лишним, спасибо Я бы после такого плакал ... Честно ....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:44:38 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Зашедший _fromoracle Зашедший _fromoracleЗалез задал начинающий вопрос, кто смог - тот ответил. Вопрос был неправильный. Надо спрашивать не "с какой стороны за микроскоп браться удобнее, чтобы гвоздь забиь", а "как им (микроскопом) правильно пользоваться" или, в крайнем случае, "где можно взять молоток". Я так подозреваю что зашедший и krjhocrkjh это одно лицо. Причем лицо тяжело больное и травмированное. Господа модераторы забаньте этого Java-робота пожалуйста. Нормальным людям жить не дают ... Смеялсо. Немножко позитива не бывает лишним, спасибо Я бы после такого плакал ... Честно ....... эмо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:50:56 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleЯ бы после такого плакал ... Честно ....... Ну, тогда человеку, называющему себя "программистом", после По поводу Command/State/Strategy - не знаю что это такое, так что ответить нечего вообще вешаться надо. ЗЫ Ладно, все это флуд и оффтоп, завязываю. А почитать GoF & Фаулера таки рекомендую. Полезно, притом для любого языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:52:24 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracleЯ бы после такого плакал ... Честно ....... Ну, тогда человеку, называющему себя "программистом", после По поводу Command/State/Strategy - не знаю что это такое, так что ответить нечего вообще вешаться надо. ЗЫ Ладно, все это флуд и оффтоп, завязываю. А почитать GoF & Фаулера таки рекомендую. Полезно, притом для любого языка. Блин чего тока про программистов не говорят. Очередной бред... Вы случайно не в Люксе работаете ? Или в DeutchBank ? Наверное Java Team Leader 3500$ ? Не нужно мне всё это поскоку не пишу промышленный большой софт. Всё тупо и банально...... Бай ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 21:56:43 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Зашедший _fromoracleЯ бы после такого плакал ... Честно ....... Ну, тогда человеку, называющему себя "программистом", после По поводу Command/State/Strategy - не знаю что это такое, так что ответить нечего вообще вешаться надо. ЗЫ Ладно, все это флуд и оффтоп, завязываю. А почитать GoF & Фаулера таки рекомендую. Полезно, притом для любого языка. Блин чего тока про программистов не говорят. Очередной бред... Вы случайно не в Люксе работаете ? Или в DeutchBank ? Наверное Java Team Leader 3500$ ? Не нужно мне всё это поскоку не пишу промышленный большой софт. Всё тупо и банально...... Бай ... Не, сейчас не в люксе и не дойче, а нащ0д позиции и компенсации - в общем как-то так, да. Щаслива... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 22:05:32 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
to: Зашедший Да последний вопрос. Сколько если не секрет у вас в конторе Junior-ы получают и сколько длится период их сидения в джуниорстве ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2007, 22:46:00 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Случайно зашел в топик и офигел, ну и понаписали ! Внимание, правильный ответ: class parent { public String var="parent"; public void printvar() { System.out.println(var); } } class child extends parent { { var="child"; } } class test { public static void main(String[] args) { child c = new child(); c.printvar(); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 00:27:20 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
scofСлучайно зашел в топик и офигел, ну и понаписали ! Внимание, правильный ответ: class parent { public String var="parent"; public void printvar() { System.out.println(var); } } class child extends parent { { var="child"; } } class test { public static void main(String[] args) { child c = new child(); c.printvar(); } } Я понял тут каждый решает какую то свою задачу. С вложенными подклассами не канает. Правильный адекватный ответ дали два человека в этом топике, всё остальное гон, обсералово, и дешёвая попытка то ли навязать своё видение или идеололию то ли посмеятся и застебяать. Тревожный показатель товарищи. Задумайтесь ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 08:59:51 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle scofСлучайно зашел в топик и офигел, ну и понаписали ! Внимание, правильный ответ: class parent { public String var="parent"; public void printvar() { System.out.println(var); } } class child extends parent { { var="child"; } } class test { public static void main(String[] args) { child c = new child(); c.printvar(); } } Про вложенные подклассы я конечно загнул. Тут просто чтоли мой код переписали ? Хорош флудить.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 09:03:34 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle _fromoracle scofСлучайно зашел в топик и офигел, ну и понаписали ! Внимание, правильный ответ: class parent { public String var="parent"; public void printvar() { System.out.println(var); } } class child extends parent { { var="child"; } } class test { public static void main(String[] args) { child c = new child(); c.printvar(); } } Про вложенные подклассы я конечно загнул. Тут просто чтоли мой код переписали ? Хорош флудить.... А не всё сорри гоню. Нашёл разницу...... Спасибо, попробую запустить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 09:04:51 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleЯ так подозреваю что зашедший и krjhocrkjh это одно лицо. Причем лицо тяжело больное и травмированное. Господа модераторы забаньте этого Java-робота пожалуйста. Нормальным людям жить не дают ... Да, я то же их alter ego. Вчитайся в свои топики. В них одно хамство и маразм. Надо проще на жизнь смотреть, бери пример: http://www.sql.ru/forum/actualpost.aspx?bid=38&tid=477272&mid=4714422&p=3&act=quot#4714427 ПМСМ, на юниора тебе рано еще идти, тебе бы пока на Pascal писать научится. С указателями поработать, алгоритмики написать А так, PHP - первый язык? SQL на уровне SELECT/UPDAT? Я отгадал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 09:12:03 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Leonidv _fromoracleЯ так подозреваю что зашедший и krjhocrkjh это одно лицо. Причем лицо тяжело больное и травмированное. Господа модераторы забаньте этого Java-робота пожалуйста. Нормальным людям жить не дают ... Да, я то же их alter ego. Вчитайся в свои топики. В них одно хамство и маразм. Надо проще на жизнь смотреть, бери пример: http://www.sql.ru/forum/actualpost.aspx?bid=38&tid=477272&mid=4714422&p=3&act=quot#4714427 ПМСМ, на юниора тебе рано еще идти, тебе бы пока на Pascal писать научится. С указателями поработать, алгоритмики написать А так, PHP - первый язык? SQL на уровне SELECT/UPDAT? Я отгадал? Не угадал... Ты лучше вчитайтесь в свои топики. Вот уж где точно неуважение , хамство и маразм ... "на юниора тебе рано еще идти" - тебя спросить забыл ... Сам то ты на чем пишешь неужто на джава. А нафига тогда здесь сидишь ? Некого больше уму разуму учить... Ну не спрашивал я никого здесь кем мне работать, рано или нет, и пр. Вопрос был банальный, а ваше желание отыграться на новичках за тяжёлые армейские довольно очевидно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 09:24:08 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleНу не спрашивал я никого здесь кем мне работать, рано или нет, и пр. Вопрос был банальный, а ваше желание отыграться на новичках за тяжёлые армейские довольно очевидно... Ты напрасно обижаешься. Встретив альтернативную точку зрения, нужно радоваться. Радоваться возможности либо опровергнуть её (путём логических доводов, конечно же), либо изменить свою, тем самым лишившись части заблуждений (наличие которых свойственно любому человеку) или хотя бы возможности узнать что-то новое. Обижаясь, ты лишаешь себя этой радости и выставляешь на посмешище. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 10:18:21 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs _fromoracleНу не спрашивал я никого здесь кем мне работать, рано или нет, и пр. Вопрос был банальный, а ваше желание отыграться на новичках за тяжёлые армейские довольно очевидно... Ты напрасно обижаешься. Встретив альтернативную точку зрения, нужно радоваться. Радоваться возможности либо опровергнуть её (путём логических доводов, конечно же), либо изменить свою, тем самым лишившись части заблуждений (наличие которых свойственно любому человеку) или хотя бы возможности узнать что-то новое. Обижаясь, ты лишаешь себя этой радости и выставляешь на посмешище. Это не обида. Это скорее гнев и возмущение ... Точка зрения "Учи ООП, ИДИНА PHP и прочее далёкое от реальности" конечно сильно альтернативная. Логически я пытался общаться до наступления момента откоровенного стеба надо мной моими мыслями, кодом и фразочками типа "Ошибка в ДНК, Безнадёжный случай и клиника". А по поводу на Посмешище - как то не особо парит, был бы перед кем стыдится ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 11:05:43 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleВопрос был банальный, а ваше желание отыграться на новичках за тяжёлые армейские довольно очевидно... Проблема в том, что вместо вопроса - "А как вы считаете правильно" ты начинаешь отстаивать свою точку зрения. Плюс, вопрос действительно банальный и может быть решен с помощью Java Language Specification. Правильный вопрос должен был быть - "А почему так нельзя?". Идеальный вопрос - "А почему так нельзя, ведь этого полезно тогда-то и тогда-то". Вот эти вопрос, ПМСМ, являются хорошими и правильными. Насчет хамства (http://www.sql.ru/forum/actualthread.aspx?tid=477272&pg=1#4711925): _fromoracle Типа самый умный ? PS Почему-то grexhide вспомнился... Точнее, что он писал о JEE. Если человек не знает базовые понятия (типа правил наследования) и уже пишет корпоративные приложения (а где еще EJB нужен?), становится понятно - откуда может появляться негатив в отношение java-программистов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 12:09:25 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleЛогически я пытался общаться до наступления момента откоровенного стеба надо мной моими мыслями, кодом и фразочками типа "Ошибка в ДНК, Безнадёжный случай и клиника". А по поводу на Посмешище - как то не особо парит, был бы перед кем стыдится ... Главное не форма, а содержание. Разве нет? :) Товарищи ведь верно подметили, что тебе надо учить ооп или идти писать на php и perl, если ты в них находишь прелесть. Про наследование правильно ответили: не нужен здесь рефшлекшин. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Так же разумно было замечено, что массив из Object не лучший способ хранить пары "ключ-значение", т.к. поиск по ключу значения требует линейного времени, т.к. нужно явно приводить object к требуемому типу, что не даёт возможности компилятору помочь отлавливать глупые ошибки в коде, т.к. почти наверняка код для поиска и перебора значений в properties при такой реализации будет дублироваться, а это ограничивает возможности безолезненного изменения представления properties в коде (что вполне вероятно в силу медленности доступа к нужному значению при текущей реализации), т.к. достаточно лёгко ошибиться в названии свойства и проблематично понять, какие свойства вообще есть у данного объекта. Если прочитаешь "рефакторинг" фаулера, то сразу поймёшь сколько "душка" содержится в твоём коде и почему он вызывает такую реакцию у эмоционально не сдержанной публики на этом форуме, ну и поймёшь как этот код переделать. В частности, если значения в свойствах могут быть только строками, можно поступить так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. Этот код уже лучше, т.к. структура данных выбранная для хранения свойств в большей степени отражает их "сущность". Если значения могут быть разных типов, то универсального решения уже не будет, т.к. многое зависит от _задачи_ (ты же привёл только _решение_). Одним из "почти" универсальных решений, будет, не паря мозг, написать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ------ Отвергать предложенные тебе решения, основываясь на утверждении "нужно писать много строчек", можно только если программа сама по себе очень маленькая и пишется в одно рыло. Не стыковка в том, что большинство участников форума работает не в одиночку и над достаточно крупными проектами, поэтому серьёзно принимать такой аргумент они не могут. К тому же современные IDE делают львиную долю такой работы за тебя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 12:29:42 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
TO NotGonnaGetUs: NotGonnaGetUs _fromoracleЛогически я пытался общаться до наступления момента откоровенного стеба надо мной моими мыслями, кодом и фразочками типа "Ошибка в ДНК, Безнадёжный случай и клиника". А по поводу на Посмешище - как то не особо парит, был бы перед кем стыдится ... Главное не форма, а содержание. Разве нет? :) Товарищи ведь верно подметили, что тебе надо учить ооп или идти писать на php и perl, если ты в них находишь прелесть. Про наследование правильно ответили: не нужен здесь рефшлекшин. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Так же разумно было замечено, что массив из Object не лучший способ хранить пары "ключ-значение", т.к. поиск по ключу значения требует линейного времени, т.к. нужно явно приводить object к требуемому типу, что не даёт возможности компилятору помочь отлавливать глупые ошибки в коде, т.к. почти наверняка код для поиска и перебора значений в properties при такой реализации будет дублироваться, а это ограничивает возможности безолезненного изменения представления properties в коде (что вполне вероятно в силу медленности доступа к нужному значению при текущей реализации), т.к. достаточно лёгко ошибиться в названии свойства и проблематично понять, какие свойства вообще есть у данного объекта. Если прочитаешь "рефакторинг" фаулера, то сразу поймёшь сколько "душка" содержится в твоём коде и почему он вызывает такую реакцию у эмоционально не сдержанной публики на этом форуме, ну и поймёшь как этот код переделать. В частности, если значения в свойствах могут быть только строками, можно поступить так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. Этот код уже лучше, т.к. структура данных выбранная для хранения свойств в большей степени отражает их "сущность". Если значения могут быть разных типов, то универсального решения уже не будет, т.к. многое зависит от _задачи_ (ты же привёл только _решение_). Одним из "почти" универсальных решений, будет, не паря мозг, написать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ------ Отвергать предложенные тебе решения, основываясь на утверждении "нужно писать много строчек", можно только если программа сама по себе очень маленькая и пишется в одно рыло. Не стыковка в том, что большинство участников форума работает не в одиночку и над достаточно крупными проектами, поэтому серьёзно принимать такой аргумент они не могут. К тому же современные IDE делают львиную долю такой работы за тебя. Так оно и есть. Программа маленькая и пишется в одно рыло. Пишу как уже успел заметить не в IDE а в обычном текстовом редакторе... TO: Leonidv А вопроса "как ты считаешь правильно" я не задавал. "ты начинаешь отстаивать свою точку зрения" - а кто её не отстаивает ? По поводу моего "самый умный" - это был ответ товарищу за "Что пустом начинаешь разводить ненужную сложность. Для того примера что ты привел, зачем там вообще наследование? Может можно все проще сделать?" Товарищ вообще не разбираясь в сути вопроса начинает чего то там опровергать... А вот ваше "во первых" , "во вторых" итп реально не в тему. Если вы и большой начальник то тока над своими подчинёнными, но не над всем миром ... Вот был бы я у вас в команде и начал бы гнать, то тогда я понимаю, да и то скорее всего до конфликта и моего увольнения дошло бы.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 12:54:58 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Программа маленькая и пишется в одно рыло. Пишу как уже успел заметить не в IDE а в обычном текстовом редакторе... Дело в том, что тот стиль, который Вы используете, ничего общего с правильным ОО-дизайном не имеет. Просто народ тут по умолчанию считает, что программист в общем должен профессионально расти, а не отбрыкиваться от советов по улучшению качества своего кода - в конце концов, это будет полезно пусть не для этого мелкого проекта, но для следующего, побольше - точно. И, кроме прочего, умение правильно проектировать и грамотно писать поднимает стоимость человека, выразимую в банальном бабле. ЗЫ Про JavaJunior-вакансии - вилка обычная, 1000-1500, время хождения в юниорах обычно в районе года. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 13:05:31 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Так оно и есть. Программа маленькая и пишется в одно рыло. Пишу как уже успел заметить не в IDE а в обычном текстовом редакторе... 1). ПМСМ, не важно как пишешь. Писать всегда надо правильно. Иначе сам же потом не вспомнишь, что делал. 2). Что мешает поставить бесплатные и мощные Eclipse или NetBeans? _fromoracle А вопроса "как ты считаешь правильно" я не задавал. Вот и я о том же. А надо бы. _fromoracle "ты начинаешь отстаивать свою точку зрения" - а кто её не отстаивает ? Ее нужно аргументированно защищать. И совсем не обязательно кого-то убеждать, что они не правы. Почитай, подумай, и прими реши для себя как делать будешь. Но чтобы принять правильное решение, надо сначала понять - что тебе говорят другие. В твоих топиках не видно понимание того, что тебе пытаются донести. _fromoracle По поводу моего "самый умный" - это был ответ товарищу за "Что пустом начинаешь разводить ненужную сложность. Для того примера что ты привел, зачем там вообще наследование? Может можно все проще сделать?" Ты привел пример, тебе дали ответ. Зачем тогда было упрощать? Или почему нельзя было сразу всю картину описать? _fromoracle Товарищ вообще не разбираясь в сути вопроса начинает чего то там опровергать... Товарищ разобрался в вопросе ровно настолько, насколько ты дал ему разобраться. _fromoracle Если вы и большой начальник то тока над своими подчинёнными, но не над всем миром ... Я не начальник, хотя помощник у меня есть :) _fromoracle Вот был бы я у вас в команде и начал бы гнать, то тогда я понимаю, да и то скорее всего до конфликта и моего увольнения дошло бы.... Вряд ли. Если бы ты уже был в моей команде, до тебя бы попытались донести как делать правильно. Одно дело лично общение и необходимость объяснять, а другое - общение на форуме. Тут и поругаться можно ;) Твоя проблема, скорее всего, в том, что ты пишешь в одиночку. В коллективе многие вопросы решаются проще, плюс опытом люди делятся. Другой вопрос в том, что чтобы попасть в команду не плохо бы знать что такое GoF и рефакторинг. Ты там про junior позицию спрашивал, так вот, я думаю такие вещи на собеседование спрашивают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 13:14:09 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracle Программа маленькая и пишется в одно рыло. Пишу как уже успел заметить не в IDE а в обычном текстовом редакторе... Дело в том, что тот стиль, который Вы используете, ничего общего с правильным ОО-дизайном не имеет. Просто народ тут по умолчанию считает, что программист в общем должен профессионально расти, а не отбрыкиваться от советов по улучшению качества своего кода - в конце концов, это будет полезно пусть не для этого мелкого проекта, но для следующего, побольше - точно. И, кроме прочего, умение правильно проектировать и грамотно писать поднимает стоимость человека, выразимую в банальном бабле. ЗЫ Про JavaJunior-вакансии - вилка обычная, 1000-1500, время хождения в юниорах обычно в районе года. Да лучше в джуниоры не ходить... Зубы на полку положишь .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 13:24:59 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Leonidv _fromoracle Так оно и есть. Программа маленькая и пишется в одно рыло. Пишу как уже успел заметить не в IDE а в обычном текстовом редакторе... 1). ПМСМ, не важно как пишешь. Писать всегда надо правильно. Иначе сам же потом не вспомнишь, что делал. 2). Что мешает поставить бесплатные и мощные Eclipse или NetBeans? _fromoracle А вопроса "как ты считаешь правильно" я не задавал. Вот и я о том же. А надо бы. _fromoracle "ты начинаешь отстаивать свою точку зрения" - а кто её не отстаивает ? Ее нужно аргументированно защищать. И совсем не обязательно кого-то убеждать, что они не правы. Почитай, подумай, и прими реши для себя как делать будешь. Но чтобы принять правильное решение, надо сначала понять - что тебе говорят другие. В твоих топиках не видно понимание того, что тебе пытаются донести. _fromoracle По поводу моего "самый умный" - это был ответ товарищу за "Что пустом начинаешь разводить ненужную сложность. Для того примера что ты привел, зачем там вообще наследование? Может можно все проще сделать?" Ты привел пример, тебе дали ответ. Зачем тогда было упрощать? Или почему нельзя было сразу всю картину описать? _fromoracle Товарищ вообще не разбираясь в сути вопроса начинает чего то там опровергать... Товарищ разобрался в вопросе ровно настолько, насколько ты дал ему разобраться. _fromoracle Если вы и большой начальник то тока над своими подчинёнными, но не над всем миром ... Я не начальник, хотя помощник у меня есть :) _fromoracle Вот был бы я у вас в команде и начал бы гнать, то тогда я понимаю, да и то скорее всего до конфликта и моего увольнения дошло бы.... Вряд ли. Если бы ты уже был в моей команде, до тебя бы попытались донести как делать правильно. Одно дело лично общение и необходимость объяснять, а другое - общение на форуме. Тут и поругаться можно ;) Твоя проблема, скорее всего, в том, что ты пишешь в одиночку. В коллективе многие вопросы решаются проще, плюс опытом люди делятся. Другой вопрос в том, что чтобы попасть в команду не плохо бы знать что такое GoF и рефакторинг. Ты там про junior позицию спрашивал, так вот, я думаю такие вещи на собеседование спрашивают. Ну вот опять надо нужно. Кому надо, кому нужно ? О чем вы ? "Ты привел пример, тебе дали ответ. Зачем тогда было упрощать? Или почему нельзя было сразу всю картину описать?" На вопрос "как отнаследовать поле" - ответ откажись от наследования - Конгениально ..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 13:28:00 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleДа лучше в джуниоры не ходить... Зубы на полку положишь .... Ну сразу ничего не бывает. Через год - две штуки, еще через год-полтора уже и 2.5-3 можно заиметь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 13:33:44 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracleДа лучше в джуниоры не ходить... Зубы на полку положишь .... Ну сразу ничего не бывает. Через год - две штуки, еще через год-полтора уже и 2.5-3 можно заиметь. Да просто уходить с хороших позиций на перле на джуниорские на джаву проигрывая конкретно в деньгах сильно ломает ... Тем более что при нынешнем кадровом голоде на программистов порой такой народ берут на неджуниорские позиции аж диву даёшься .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 13:36:06 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle[...]такой народ берут на неджуниорские позиции аж диву даёшься .... Возьмите меня. Я хороший. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 13:38:48 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle Да просто уходить с хороших позиций на перле на джуниорские на джаву проигрывая конкретно в деньгах сильно ломает ... Тем более что при нынешнем кадровом голоде на программистов порой такой народ берут на неджуниорские позиции аж диву даёшься .... Можно сделать финт ушами - найти работу, где используются и перл, и ява. Тогда получится не потерять в бабле и притом нормально изучить яву, чтобы потом "соскочить" уже на чистую яву на нормальную позицию, имея приличный опыт работы. Собственно, я с дельфы так же переходил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 13:48:09 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Софтверный проктолог _fromoracle[...]такой народ берут на неджуниорские позиции аж диву даёшься .... Возьмите меня. Я хороший. Открытых вакансий на проктолога пока нету ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 13:49:04 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracle Да просто уходить с хороших позиций на перле на джуниорские на джаву проигрывая конкретно в деньгах сильно ломает ... Тем более что при нынешнем кадровом голоде на программистов порой такой народ берут на неджуниорские позиции аж диву даёшься .... Можно сделать финт ушами - найти работу, где используются и перл, и ява. Тогда получится не потерять в бабле и притом нормально изучить яву, чтобы потом "соскочить" уже на чистую яву на нормальную позицию, имея приличный опыт работы. Собственно, я с дельфы так же переходил. Да я собственно так и планирую. Проект который я пишу небольшая программулька больше для самоизучения чем для денег. А по поводу проектирования и Gof - почитал интересно, но наверное есть смысл читать это в применении к конкретным большим задачам, а так абстрактно чтобы было не получается ... Как говорится тяжело вариться в собственном соку ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 13:53:07 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleА по поводу проектирования и Gof - почитал интересно, но наверное есть смысл читать это в применении к конкретным большим задачам, а так абстрактно чтобы было не получается Почитал или прочитал? У меня GoF полностью мозги перестроил. Пользоваться можно в любых задачах, в том числе и не больших. Тут главное идеи ухватить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 14:14:44 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Зашедший _fromoracleДа лучше в джуниоры не ходить... Зубы на полку положишь ....Ну сразу ничего не бывает. Через год - две штуки, еще через год-полтора уже и 2.5-3 можно заиметь. По моему опыту через 3 месяца джуниорства 1500, через год с небольшим 2300, далее поглядим :) Слышал недавно в отдел хотели взять джуниоров, за 1500 не нашли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 15:32:32 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
kest_ru Зашедший _fromoracleДа лучше в джуниоры не ходить... Зубы на полку положишь ....Ну сразу ничего не бывает. Через год - две штуки, еще через год-полтора уже и 2.5-3 можно заиметь. По моему опыту через 3 месяца джуниорства 1500, через год с небольшим 2300, далее поглядим :) Слышал недавно в отдел хотели взять джуниоров, за 1500 не нашли. По-разному бывает, от опыта-скорости освоения зависит, к тому же я джуниоров уже год не собеседовал, может - цифры тоже уже поменялись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 15:34:58 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
kest_ru Зашедший _fromoracleДа лучше в джуниоры не ходить... Зубы на полку положишь ....Ну сразу ничего не бывает. Через год - две штуки, еще через год-полтора уже и 2.5-3 можно заиметь. По моему опыту через 3 месяца джуниорства 1500, через год с небольшим 2300, далее поглядим :) Слышал недавно в отдел хотели взять джуниоров, за 1500 не нашли. Ясно дело не нашли .. Джуниор ещё не означает "Питающийся маной небесной " ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2007, 15:36:39 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracle _fromoracle _fromoracle scofСлучайно зашел в топик и офигел, ну и понаписали ! Внимание, правильный ответ: class parent { public String var="parent"; public void printvar() { System.out.println(var); } } class child extends parent { { var="child"; } } class test { public static void main(String[] args) { child c = new child(); c.printvar(); } } Про вложенные подклассы я конечно загнул. Тут просто чтоли мой код переписали ? Хорош флудить.... А не всё сорри гоню. Нашёл разницу...... Спасибо, попробую запустить... TO: scof. Огромное спасибо то что было нужно. Всё заработало .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 14:11:31 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
Раз уж начали учить меня как правильно писать на джаве с приминением HashMap. Ответте есть ли в джаве механизм поддержки порядка ключе в Map. Т.е. чтобы можно было вытащий ключи в том порядке в котором был произведён put. SortedMap не подходит. Я написал собственный класс, но по всей видимости есть встроенные нормальные механизмы ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. Прошу заранее мой код не охаявать, а по возможности помочь ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 15:45:17 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
_fromoracleРаз уж начали учить меня как правильно писать на джаве с приминением HashMap. Ответте есть ли в джаве механизм поддержки порядка ключе в Map. LinkedHashMap? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 15:50:25 |
|
||
|
Наследование
|
|||
|---|---|---|---|
|
#18+
kest_ru _fromoracleРаз уж начали учить меня как правильно писать на джаве с приминением HashMap. Ответте есть ли в джаве механизм поддержки порядка ключе в Map. LinkedHashMap? Да оно Спасибо. "This linked list defines the iteration ordering, which is normally the order in which keys were inserted into the map (insertion-order)." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2007, 15:54:44 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2144504]: |
0ms |
get settings: |
13ms |
get forum list: |
25ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
61ms |
get topic data: |
22ms |
get forum data: |
6ms |
get page messages: |
221ms |
get tp. blocked users: |
4ms |
| others: | 365ms |
| total: | 731ms |

| 0 / 0 |
