|
|
|
Множественное наследование. Задача с собеседования.
|
|||
|---|---|---|---|
|
#18+
На собеседовании некоторое время назад задавали вопрос про множественное наследование. Точно формулировку я не помню. Надеюсь, что вы сможете поправить. Наверное вопрос стандартный. Есть три класса с тремя методами с одинаковой сигнатурой никак друг с другом не связанные. нужно создать класс, который будет брать первый метод из первого класса, второй из второго и третий из третьего. Сейчас мне прихолдит на ум вынести из трёх классов интерфейс, Четвертый класс его имплементит. Делаем все три класса полями и в нужном методе вызываем нужный метод. Но насколько я помню человек, который проводил интервью предложил какое-то другое решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 13:25 |
|
||
|
Множественное наследование. Задача с собеседования.
|
|||
|---|---|---|---|
|
#18+
questionerНа собеседовании некоторое время назад задавали вопрос про множественное наследование. Точно формулировку я не помню. Надеюсь, что вы сможете поправить. Наверное вопрос стандартный. Есть три класса с тремя методами с одинаковой сигнатурой никак друг с другом не связанные. нужно создать класс, который будет брать первый метод из первого класса, второй из второго и третий из третьего. Сейчас мне прихолдит на ум вынести из трёх классов интерфейс, Четвертый класс его имплементит. Делаем все три класса полями и в нужном методе вызываем нужный метод. Но насколько я помню человек, который проводил интервью предложил какое-то другое решение. Множественного наследования в Java нет. Зато есть Reflection API! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 13:29 |
|
||
|
Множественное наследование. Задача с собеседования.
|
|||
|---|---|---|---|
|
#18+
mad_nazgulquestionerНа собеседовании некоторое время назад задавали вопрос про множественное наследование. Точно формулировку я не помню. Надеюсь, что вы сможете поправить. Наверное вопрос стандартный. Есть три класса с тремя методами с одинаковой сигнатурой никак друг с другом не связанные. нужно создать класс, который будет брать первый метод из первого класса, второй из второго и третий из третьего. Сейчас мне прихолдит на ум вынести из трёх классов интерфейс, Четвертый класс его имплементит. Делаем все три класса полями и в нужном методе вызываем нужный метод. Но насколько я помню человек, который проводил интервью предложил какое-то другое решение. Множественного наследования в Java нет. Зато есть Reflection API! :-) Про Reflection речи точно не шло в ответе интервьювера, но честно говоря не понял как reflection тут поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 13:33 |
|
||
|
Множественное наследование. Задача с собеседования.
|
|||
|---|---|---|---|
|
#18+
questionerНа собеседовании некоторое время назад задавали вопрос про множественное наследование. Точно формулировку я не помню. Надеюсь, что вы сможете поправить. Наверное вопрос стандартный. Есть три класса с тремя методами с одинаковой сигнатурой никак друг с другом не связанные. нужно создать класс, который будет брать первый метод из первого класса, второй из второго и третий из третьего. Сейчас мне прихолдит на ум вынести из трёх классов интерфейс, Четвертый класс его имплементит. Делаем все три класса полями и в нужном методе вызываем нужный метод. Но насколько я помню человек, который проводил интервью предложил какое-то другое решение. Зачем интерфейс? Четвёртый класс просто имеет ссылки на экземпляры каждого из трёх и зовёт его методы. PS: это если я правильно понял смысл слова "брать" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 14:32 |
|
||
|
Множественное наследование. Задача с собеседования.
|
|||
|---|---|---|---|
|
#18+
Alexey TominquestionerНа собеседовании некоторое время назад задавали вопрос про множественное наследование. Точно формулировку я не помню. Надеюсь, что вы сможете поправить. Наверное вопрос стандартный. Есть три класса с тремя методами с одинаковой сигнатурой никак друг с другом не связанные. нужно создать класс, который будет брать первый метод из первого класса, второй из второго и третий из третьего. Сейчас мне прихолдит на ум вынести из трёх классов интерфейс, Четвертый класс его имплементит. Делаем все три класса полями и в нужном методе вызываем нужный метод. Но насколько я помню человек, который проводил интервью предложил какое-то другое решение. Зачем интерфейс? Четвёртый класс просто имеет ссылки на экземпляры каждого из трёх и зовёт его методы. PS: это если я правильно понял смысл слова "брать" :) Согласен, интерфейс тут лишний. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 15:28 |
|
||
|
Множественное наследование. Задача с собеседования.
|
|||
|---|---|---|---|
|
#18+
Alexey TominЗачем интерфейс? Четвёртый класс просто имеет ссылки на экземпляры каждого из трёх и зовёт его методы. PS: это если я правильно понял смысл слова "брать" :) Правильный ответ - заменяем наследование делегированием :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 17:00 |
|
||
|
Множественное наследование. Задача с собеседования.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczAlexey TominЗачем интерфейс? Четвёртый класс просто имеет ссылки на экземпляры каждого из трёх и зовёт его методы. PS: это если я правильно понял смысл слова "брать" :) Правильный ответ - заменяем наследование делегированием :) нет там наследования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 17:57 |
|
||
|
Множественное наследование. Задача с собеседования.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2015, 17:58 |
|
||
|
Множественное наследование. Задача с собеседования.
|
|||
|---|---|---|---|
|
#18+
questionerКомпозиция говорят не очень в этом случае Ученые доказали что 95% населения ... Кто говорит? Чем аргументирует? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 09:29 |
|
||
|
Множественное наследование. Задача с собеседования.
|
|||
|---|---|---|---|
|
#18+
questionerТочно формулировку я не помню. Надеюсь, что вы сможете поправить. Наверное вопрос стандартный. Есть три класса с тремя методами с одинаковой сигнатурой никак друг с другом не связанные. нужно создать класс, который будет брать первый метод из первого класса, второй из второго и третий из третьего. Тут равенство сигнатур - вообще ни к месту. Оно никоим образом не помогает решать данную задачу. Остаётся только удивлятся подобным заданиям. Неужели кто-то надеется что испытуемый на собеседовании напишет на бумажке правильный код с рефлексией? Даже синьору нужно время подумать и посидеть с среде разработки чтобы сформировать своё видение решения. И хотя-бы пару кейсов чтобы протестировать. Втопку такие задачи. Они не имеют материальной подоплёки. Они не имеют эквивалента в бизнес-задачах. Их выдумывают чтобы "макнуть" испытуемого и указать его ничтожность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 12:46 |
|
||
|
Множественное наследование. Задача с собеседования.
|
|||
|---|---|---|---|
|
#18+
Выяснил, что вопрос был задан не для того, чтобы получить конкретный ответ. Хотели услышать, что отношение has тут не очень подходит, а множественного наследования нет, поэтому только так. В случае если мы наследуемся и в родителе добавляется метод, то в потомке он сам появится, а в случае композиции надо дополнительно запроксировать. В общем на мой вгляд вопрос поставлен был не четко.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2015, 20:05 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38900296&tid=2125702]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 451ms |

| 0 / 0 |
