|
|
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
На собеседовании задали вопрос, который поставил меня в тупик: В чем принципиальная разница между абстрактным классом и интерфейсом? По условию они имеют следующие декларации: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 14:39:20 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
jclass, ответ прост - любой класс может наследоваться от любого количества интерфейсов, но только одного класса. Во всем остальном приведенный выше код будет вести себя идентично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 14:42:04 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
Добрый день, jclass! > В чем > принципиальная разница между абстрактным классом и интерфейсом? По > условию они имеют следующие декларации: Хотя бы тем, что у интерфейса слова public static final abstract можно опускать. Т.е. получается намного короче и красивее Код: sql 1. 2. 3. 4. 5. Ну и вызов интерфейса работает на пару тактов медленнее. А так- отличий нет, это костыль в отсутствии множественного наследования. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 14:47:20 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
VoDA, Меня сама постановка вопроса смутила, первое что пришло в голову сравнивать эти две сущности, о том, что меня спрашивали о множественном "наследовании" даже в голову не лезло, слишком простой ответ казался :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 14:47:37 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
jclass, класс - это объект. А интерфейс - это контракт или свойство объекта. Например, класс - кисть, и интерфейс - жёсткость её. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 14:49:17 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
Petro123класс - это объект. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 14:50:27 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
GKS_Samara, То что, опускать модификаторы можно это понятно, в примере я специально указал, чтобы яснее было, о том, что спрашивали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 14:51:36 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
Petro123, Объект - это ЭКЗЕМПЛЯР класса, поробуйте на досуге создать объект абстрактного класса :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 14:52:59 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, :) ну, я не думаю, что в Java и MS определения interface сильно отличаются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 14:54:02 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
jclassPetro123, Объект - это ЭКЗЕМПЛЯР класса, поробуйте на досуге создать объект абстрактного класса :) неужели. Я тебе сказал об объекте Кисть как о философском понятии. Т.е. понимай суть, а не зубрёжку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 14:55:42 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraА так- отличий нет, это костыль в отсутствии множественного наследования. Сравнивать интерфейс и наследование немного неверно. У них разное назначение. Наследование - это расширение свойств и поведения класса. Интерфейс, как уже писал Petro123, это контракт, который класс поддерживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 15:34:09 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
По-моему вопрос какой-то некорректный если он ставился именно в этой постановке, если спрашивать в общем - то вопрос хороший и тут много чего можно сказать, а в вашем случае с заданными декларациями мягко говоря глупый. Хотя от вас возможно хотели узнать про отличия абстрактного класса и интерфейса а пример просто так привели..хз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 15:38:12 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
забыл никПо-моему вопрос какой-то некорректный +1 в примере (если он полон) они не отличаются ничем, потому что абстрактный класс B не реализует никакого базового функционала и потому бессмыслен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 15:45:31 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
chpashaзабыл никПо-моему вопрос какой-то некорректный +1 в примере (если он полон) они не отличаются ничем, потому что абстрактный класс B не реализует никакого базового функционала и потому бессмыслен. +1 я смотрел на будущее, как на прародителя объектов. Интерфейс же, будет сбоку-припёку. Т.е. разные вещи всё равно. Всё зависит от точки зрения и домысливания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 15:50:25 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
забыл ник, Ну собствено вопрос "В чем же разница между ними?" еще и на другом примере ставился: Код: java 1. 2. 3. 4. 5. 6. 7. Собственно ответ интервьювера(ов) поразил, оказавается спрашивали про "множественное наследование" интерфейсов, а я как не ищущий простых ответов на дословный вопрос залип на на нем :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 16:02:22 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
Добрый день, Dan Black! > Сравнивать интерфейс и наследование немного неверно. У них разное > назначение. Не совсем. Интерфейс- это его публичные методы/свойства. Т.е. у любого класса есть реализуемый им безымянный интерфейс :) > Наследование - это расширение свойств и поведения класса. И интерфейса- тоже. Отличии именно в том, что у интерфейса не может быть реализации. А в скале есть trait, которые как бы и не класс, но и не интерфейс :) -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 16:02:32 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
jclass, ага, типа - чем отличает вырожденное дерево от палки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 16:09:40 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
ах да, у абстрактного класса может быть конструктор по умолчанию который не можем объявить абстрактным:) в отличии от интерфейса. Но ответ ожидали другой, что любой другой класс может реализовать сколь угодно интерфейсов, а ведь вопрос был задан в чем различие между абстрактным классом и интерфейсом при условии аналогичных сигнатур класса. Понятно, что если бы намекнули туда куда клонят, то ответ был бы очевиден, тогда не пришлось бы отвечать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 16:14:37 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
Dan BlackНаследование - это расширение свойств и поведения класса. Не обязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 16:29:51 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
jclassDan BlackНаследование - это расширение свойств и поведения класса. Не обязательно. Правильные пацаны обычно обосновывают свой ответ ;) Кроме того, моя цель была не написать полное описание термина наследования, так что хотелось бы в контексте "интерфейс - это костыль в отсутствии множественного наследования." что-нибудь услышать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 16:40:28 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
Dan Blackтак что хотелось бы в контексте "интерфейс - это костыль в отсутствии множественного наследования." что-нибудь услышать. зачем? Было много флеймов на данную тему :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 16:45:44 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
Petro123Dan Blackтак что хотелось бы в контексте "интерфейс - это костыль в отсутствии множественного наследования." что-нибудь услышать. зачем? Было много флеймов на данную тему :)Согласен, данная подтема официально закрыта :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 16:48:17 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
Dan Blackjclassпропущено... Не обязательно. Правильные пацаны обычно обосновывают свой ответ ;) "расширение свойств и поведения класса" это наследование с соблюдением LSP. Можно реализовать наследование не соблюдая LSP. Соостветсвенно: наследование - это "не обязательно" "расширение свойств и поведения класса". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 16:49:29 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz"расширение свойств и поведения класса" это наследование с соблюдением LSP. Можно реализовать наследование не соблюдая LSP. Соостветсвенно: наследование - это "не обязательно" "расширение свойств и поведения класса".Да, вот и получаются в результате такого наследования из ножей танки :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 16:56:49 |
|
||
|
В чем разница между абстрактным классом и интерфейсом?
|
|||
|---|---|---|---|
|
#18+
Добрый день, Dan Black! > Кроме того, моя цель была не написать полное описание термина > наследования, так что хотелось бы в контексте "интерфейс - это костыль в > отсутствии множественного наследования." что-нибудь услышать. Что услышать? При наличии множественного наследования интерфейс как языковая сущность не нужен. Бритвой отрезает. Понятие "класс" включает в себя интерфейс. PS: интерфейсы в смысле COM немного не в тему. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2012, 17:46:17 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37706965&tid=2132271]: |
0ms |
get settings: |
17ms |
get forum list: |
27ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
64ms |
get topic data: |
25ms |
get forum data: |
6ms |
get page messages: |
131ms |
get tp. blocked users: |
3ms |
| others: | 341ms |
| total: | 628ms |

| 0 / 0 |
