Последние комментарии

Для меня эта страница - это удобный способ смотреть, что нового происходит в комментариях и сразу находить заметку, не заходя в админку. Думаю, она будет полезна и тебе.


Владимир_

Классы - да. А вот интерфейсы - не механизм наследования. Этим и отличается. А вот вопрос мне не нравится, потому что это вопрос из категории: "угадай что хочет услышать человек его задавший". Хорошо было бы задавать  вопросы, на которые можно дать однозначный ответ.
А как можно ответить на вопрос чем отличается? Ну например ключевым словом. Вы это хотели услышать? Или в интерфейсах нельзя создавать приватные методы. Эти ответы говорят о понимании, что такое интерфейс или абстрактный класс?


Михаил Фленов Зарегистрированный пользователь

2Владимир_

Я не знаю, что у тебя не очистилось, потому что все поле для ввода комментария должно убираться и вместо него появлятся твой комментарий. Какой браузер используешь? Может где-то JS ошибка.


Михаил Фленов Зарегистрированный пользователь

2Евгений рнд

Ой горят на этом вопросе, потому что не понимают разницу. И раньше достаточным ответом было: Интерфейс - это чистый declaration - ты только объявляешь протокол, как что-то должно работать. Абстрактный класс - это класс с реализаций по умолчанию, хотя некоторые могут использовать это и в качестве протокола (не является хорошим тоном, но не запрещается). Когда появится в интерфейсах реализация, то мое утверждение уже становится условностью. Да, это то, для чего они создавалиссь, но не и плоскогубцами можно забивать гвозди.

2Владимир_

Вопрос вполне корректен и он как раз на понимание, когда и что использовать. А классы разве не механизм полиморфизма в чистом виде? Тем более абстрактные. Ты же сам говоришь, что абстрактный класс нужен больше для насследования и может выполнять роль в полеморфизме. Так где же чистая разница?


Владимир_

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


Владимир_

Никаго множественного наследования нет вообще


Владимир_

Ну сам по себе вопрос: "чем отличаются абстракные классы и интерфейсы?" - некоректен. Лучше бы узнать, в каких бы ситуациях было бы полезно применить абстрактный класс, а в каких интерфейс. И тут ничего не изменилось. Потому что интерфейс это чисто механизм полиморфизма и, с добавлением методов по умолчанию, ничего не изменилось. Создавать члены класса внутри интерфейса порежнему нельзя. Хотя можно, конечно, свойства, но те должны быть открытыми, что уродывало бы интерфейс, при неправильном использовании.
Абстрактный класс нужен больше для наследования, хоть и может выполнять роль в полиморфизме. То есть абстракный класс больше нужен, чтобы не повторяться


Покемон

В Java 8 это уже давно есть. Это сделано для того, чтобы в множестве реализующих классов, не определять пустые методы там, где они не нужны. А выкидывать исключение в методе поумолчанию например. Врятли он годится для чего-то большего.


Евгений рнд

Сколько людей погорело на этом вопросе на собеседованиях?! Что еще раз подтверждает бессмысленность такого подхода к отбору специалистов.


Евгений рнд

Сколько людей погорело на этом вопросе на собеседованиях?! Что еще раз подтверждает бессмысленность такого подхода к отбору специалистов.


Михаил Фленов Зарегистрированный пользователь

Ну для этого целой главы не нужно, достаточно заметки или максимум статьи. Отметил у себя и как будет время напишу.


О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне