Java Абстрактный класс VS Интерфейс www.job4j.ru - Курсы Java разработки c трудоустройством.
Пікірлер: 49
@object-22 Жыл бұрын
Вопросов нет. Наоборот, нашёл тут ответ на свои вопросы. Спасибо за понятное и простое объяснение.
@leonidkorkulenko48385 жыл бұрын
Спасибо большое! Детально, доходчиво и по делу)
@iryna63894 жыл бұрын
Спасибо, вот прям в тему!!! Полностью разобран вопрос!!! Спасибо!!!
@alexpanasyuk46964 жыл бұрын
Irina Привет.Видел тебя в комментах bobocode) Уже работаешь?
@PRO-pt6ew2 ай бұрын
Только в пятницу задали такой вопрос)
@alekseysidorenko18555 жыл бұрын
Пётр, спасибо за видео.
@HowItWorks5 жыл бұрын
Спасибо. На мой взгляд несколько сумбурно, но все ключевые моменты рассказаны.
@MuratFatykhov5 ай бұрын
Потому что я бээтмээн 7:59 Спасибо за видео! Шикарно раскидал 🔥
@ilya9852 Жыл бұрын
Имя метода в сочетании с числом параметров и их типами называется его сигнатурой. А сигнатура метода в сочетании с типом возвращаемого значения называется контрактом метода. (4:32)
@Mifuragon2 жыл бұрын
Вот бы продолжение этой клёвой рубрики
@user-lv5nq7gs4d2 жыл бұрын
Шикарное объяснение!
@igorm.98455 жыл бұрын
Чем отличается компонент от бина?
@tolstikvladimirov55065 жыл бұрын
спасибо. Пётр, было бы полезно, если бы ты объяснил с точки зрения опыта, когда лучше использовать wildcard, а когда параметр типа. если их нужно ограничивать по иерархии.
@ilya9852 Жыл бұрын
Спасибо, теперь всё понятно
@adeskmath3 жыл бұрын
Спасибо!
@sazanya8545 жыл бұрын
1) Ссылочные и примитивные типы данных. 2) Что происходит при создании объекта (про память, вызов конструкторов в иерархии). 3) Позднее и раннее связывание. Переопределение и перегрузка методов (статических и нестатических). 4) Исключения. Зачем они вообще нужны. Иерархия классов исключений. Проверяемые и непроверяемые исключения.
@user-io2fn8es3h4 жыл бұрын
почему Runtime exeption не обрабатываемая, вот прям максимально в глубь зайти
@forlearning26534 жыл бұрын
Не понимаю что значит слово "состояния" класа. Типа в интерефейсе поле может быть только константой, а в абстрактном класе - поле как в обычном класе. Если взять англ термин, то какой будет?
@job4j4 жыл бұрын
state.
@pluto_nash8 ай бұрын
Это лучшее объяснение на русском языке отличий между интерфейсом и абстрактным классом. Остальные задроты в своих видосах говорили непонятную тарабарщину.
@AlexanderShock3r4 жыл бұрын
Подписался чтобы остальные вопросы на собеседовании посмотреть, а тут в плейлисте только один этот видос
@job4j4 жыл бұрын
Добрый день. Александр. Спасибо, что смотрите. Пока нет времени записывать эти видео. Советую подготовить OOP. Collections. SQL, Thread, Hibernate, Spring. Это основные темы при трудоустройстве.
@georgebagiryan17164 жыл бұрын
Извиняюсь за возможно тупой вопрос, но мне не дает покоя, зачем было отказываться от множественного наследования, а потом добавлять его в интерфейсы? Какой бы был смысл в интерфейсах, если бы было множественное наследование и можно было бы в абстрактных классах делать все то же, что и в интерфейсах?
@job4j4 жыл бұрын
Интерфейсы не имеют состояний. Если нет данных, то и проблем нет.
@user-xn8qk6cg2j15 күн бұрын
Всем привет! Есть вопрос про состояние/поведение!? Я знаю, что абстрактный класс описывает как поведение, так и состояние, в то время как интерфейс определяет только поведение. А почему в видео наоборот, смотрел и в конспекте подправил, а потом пошёл уточнять в ООП
@job4j7 күн бұрын
Все верно вы говорите. Класс описывает поведение и состояние, а интерфейс только поведение. У меня наоборот в видео?
@job4j5 жыл бұрын
Java Абстрактный класс VS Интерфейс www.job4j.ru - Курсы Java разработки c трудоустройством.
@mukcep54145 жыл бұрын
Состояние - это ведь конструктор?) к чему такая путаница.. Петр, если интересно подкину тему к видео. На ютубе полно видео про интерфейс, но все описывается так что есть вот интерфейс и класс его реализующий должен реализовать его методы. И народ на самом деле начинает думать что интерфейс создан для того, чтобы класс его реализующий реализовал его методы. Вот и вся его надобность, чтобы мол ничего не забыть. lol
@user-varmat5 жыл бұрын
@@mukcep5414 Конструктор описывает состояние, но не является им. Состояние - значение полей, которое объект принимает.
@mukcep54145 жыл бұрын
Ой, а я всегда думал, что при создании объекта я вызывал конструктор и прописывал там его значения а оказывается вот оно чего.. ну ок. Тогда эмм«метод с конструктором» мы можем написать интерфейсе получается? Или что мы можем получить объект в абстрактного класса с его этим как его состоянием?
@user-varmat5 жыл бұрын
@@mukcep5414 хорошо, если ты передал в конструктор параметры new Human(23, "Mark",) ты разве не описываешь то с какими значениями полей он будет создан. К твоему вопросу и моему ответу выше. Думаю правильнее было бы сказать что конструктор это возможность задать или описать, то как объект будет создан и какое состояние объекта будет, после его создания. И еще состояние мы можем и с помощью сеттеров поменять.
@mukcep54145 жыл бұрын
4:07 у абстрактного класса есть состояние. Конструктор есть и есть некое состояние. Как я понял это возможно построить объект с значениями конструктора. Так?
@alexandrkomar47412 жыл бұрын
В абстрактном же классе тоже константы объявлены final...
@mshvsh4 жыл бұрын
Для чего в методе "инфо" абстрактного класса используется ключевое слово this?
@job4j4 жыл бұрын
На тот момент я считал, что это стилистически важный момент. Сейчас могу сказать, что лучше в коде нигде не писать this. Это шум.
@artonext4 жыл бұрын
Ну я ещё добавлю разницу между Абстрактным Классом и Интерфейсом.... Интерфейс даёт поведение разным объектам которые к примеру умеют летать пример от интерфейса Fly можно имплементить метод fly() и его могу имплементить разные классы типа Птица , Самолёт или Пчела... А абстрактный класс неполноценный класс поэтому у него нету экземпляра и от него наследуются похожие на него класс потому что у них должны быть похожие методы возьмёт к примеру Абстрактный класс Самолёт он же Airplain у самолёта есть части матор колёса и тд...делаем из запчастей методы к примеру motor(); и можно от него наследоваться и будут базовые параметры...И добавлю ещё почему использовать абстрактный класс все абстрактные классы это абстрактные сущности то есть грубо говоря неконкретные но мы может из Самолёта наследоваться своим классом конкретным самолётом к примеру модель которого Ту-204 и всё готово можно дописывать свои конкретные параметры... Всем спасибо удачи (не лайкайте не для этого старался ^_^)
@user-xg6bi9pz8n Жыл бұрын
Спасибо, жаль что видео только одно с этого сборника
@danielgyrtes63704 жыл бұрын
Все хорошо, но key == кий :)
@namesurname44062 жыл бұрын
8:25 не понял как абстрактный класс содержит состояние объекта, когда он не может иметь экземпляров.
@ovsyannikovo2 жыл бұрын
когда будет создан объект класса, унаследованный от абстрактного класса, то этот объект будет иметь состояние. И часть его состояния может быть в переменных описанных в абстрактном классе.
@Rommel77554 жыл бұрын
Выводы конечно те ещё) Избавляйтесь от абстрактных классов и наследования, интерфейсы лучше)
@SB-pk2ss4 жыл бұрын
ну такое, ни разу не доходчиво объяснено, с темы на тему постоянные перепрыгивания. Ну и много неточностей в терминологии, по типу что интерфейсы наследуются и тп
@job4j4 жыл бұрын
Спасибо за комментарий. Надеюсь, хоть в чем-то Вам это видео помогло.
@user-yr5xe6op3k5 жыл бұрын
super vs this
@Archeryring4 жыл бұрын
Super относится к родительскому [наследуемому] классу, а this - к текущему.
@user-qz7vz8lq4x2 жыл бұрын
а как понять состояние обьекта? в чем она выражается? Обьясните тупому пж
@qwertymangames1800 Жыл бұрын
Неумение использовать наследование там где оно нужно не нужно заменять интерфейсами) это плохой совет
@boobubuo3 жыл бұрын
кароче интерфейс это абстрактный класс которому запретили много чего .. а потом начали дореализовывать в новых версиях явы ..разрешая то что запретили )) в будущем полагаю .. все интерфейсы приведут к абстрактным классам и таким образом он самоуничтожится )))