спасибо. Пётр, было бы полезно, если бы ты объяснил с точки зрения опыта, когда лучше использовать wildcard, а когда параметр типа. если их нужно ограничивать по иерархии.
Имя метода в сочетании с числом параметров и их типами называется его сигнатурой. А сигнатура метода в сочетании с типом возвращаемого значения называется контрактом метода. (4:32)
Добрый день. Александр. Спасибо, что смотрите. Пока нет времени записывать эти видео. Советую подготовить OOP. Collections. SQL, Thread, Hibernate, Spring. Это основные темы при трудоустройстве.
1) Ссылочные и примитивные типы данных. 2) Что происходит при создании объекта (про память, вызов конструкторов в иерархии). 3) Позднее и раннее связывание. Переопределение и перегрузка методов (статических и нестатических). 4) Исключения. Зачем они вообще нужны. Иерархия классов исключений. Проверяемые и непроверяемые исключения.
Не понимаю что значит слово "состояния" класа. Типа в интерефейсе поле может быть только константой, а в абстрактном класе - поле как в обычном класе. Если взять англ термин, то какой будет?
Состояние - это ведь конструктор?) к чему такая путаница.. Петр, если интересно подкину тему к видео. На ютубе полно видео про интерфейс, но все описывается так что есть вот интерфейс и класс его реализующий должен реализовать его методы. И народ на самом деле начинает думать что интерфейс создан для того, чтобы класс его реализующий реализовал его методы. Вот и вся его надобность, чтобы мол ничего не забыть. lol
Ой, а я всегда думал, что при создании объекта я вызывал конструктор и прописывал там его значения а оказывается вот оно чего.. ну ок. Тогда эмм«метод с конструктором» мы можем написать интерфейсе получается? Или что мы можем получить объект в абстрактного класса с его этим как его состоянием?
@@mukcep5414 хорошо, если ты передал в конструктор параметры new Human(23, "Mark",) ты разве не описываешь то с какими значениями полей он будет создан. К твоему вопросу и моему ответу выше. Думаю правильнее было бы сказать что конструктор это возможность задать или описать, то как объект будет создан и какое состояние объекта будет, после его создания. И еще состояние мы можем и с помощью сеттеров поменять.
4:07 у абстрактного класса есть состояние. Конструктор есть и есть некое состояние. Как я понял это возможно построить объект с значениями конструктора. Так?
Извиняюсь за возможно тупой вопрос, но мне не дает покоя, зачем было отказываться от множественного наследования, а потом добавлять его в интерфейсы? Какой бы был смысл в интерфейсах, если бы было множественное наследование и можно было бы в абстрактных классах делать все то же, что и в интерфейсах?
Всем привет! Есть вопрос про состояние/поведение!? Я знаю, что абстрактный класс описывает как поведение, так и состояние, в то время как интерфейс определяет только поведение. А почему в видео наоборот, смотрел и в конспекте подправил, а потом пошёл уточнять в ООП
Это лучшее объяснение на русском языке отличий между интерфейсом и абстрактным классом. Остальные задроты в своих видосах говорили непонятную тарабарщину.
когда будет создан объект класса, унаследованный от абстрактного класса, то этот объект будет иметь состояние. И часть его состояния может быть в переменных описанных в абстрактном классе.
Ну я ещё добавлю разницу между Абстрактным Классом и Интерфейсом.... Интерфейс даёт поведение разным объектам которые к примеру умеют летать пример от интерфейса Fly можно имплементить метод fly() и его могу имплементить разные классы типа Птица , Самолёт или Пчела... А абстрактный класс неполноценный класс поэтому у него нету экземпляра и от него наследуются похожие на него класс потому что у них должны быть похожие методы возьмёт к примеру Абстрактный класс Самолёт он же Airplain у самолёта есть части матор колёса и тд...делаем из запчастей методы к примеру motor(); и можно от него наследоваться и будут базовые параметры...И добавлю ещё почему использовать абстрактный класс все абстрактные классы это абстрактные сущности то есть грубо говоря неконкретные но мы может из Самолёта наследоваться своим классом конкретным самолётом к примеру модель которого Ту-204 и всё готово можно дописывать свои конкретные параметры... Всем спасибо удачи (не лайкайте не для этого старался ^_^)
ну такое, ни разу не доходчиво объяснено, с темы на тему постоянные перепрыгивания. Ну и много неточностей в терминологии, по типу что интерфейсы наследуются и тп
кароче интерфейс это абстрактный класс которому запретили много чего .. а потом начали дореализовывать в новых версиях явы ..разрешая то что запретили )) в будущем полагаю .. все интерфейсы приведут к абстрактным классам и таким образом он самоуничтожится )))
Вопросов нет. Наоборот, нашёл тут ответ на свои вопросы. Спасибо за понятное и простое объяснение.
Спасибо большое! Детально, доходчиво и по делу)
Пётр, спасибо за видео.
Спасибо, вот прям в тему!!! Полностью разобран вопрос!!! Спасибо!!!
Irina Привет.Видел тебя в комментах bobocode) Уже работаешь?
Шикарное объяснение!
Вот бы продолжение этой клёвой рубрики
Спасибо. На мой взгляд несколько сумбурно, но все ключевые моменты рассказаны.
Спасибо, теперь всё понятно
спасибо. Пётр, было бы полезно, если бы ты объяснил с точки зрения опыта, когда лучше использовать wildcard, а когда параметр типа. если их нужно ограничивать по иерархии.
Спасибо!
Потому что я бээтмээн 7:59
Спасибо за видео! Шикарно раскидал 🔥
Имя метода в сочетании с числом параметров и их типами называется его сигнатурой. А сигнатура метода в сочетании с типом возвращаемого значения называется контрактом метода. (4:32)
Чем отличается компонент от бина?
Подписался чтобы остальные вопросы на собеседовании посмотреть, а тут в плейлисте только один этот видос
Добрый день. Александр. Спасибо, что смотрите. Пока нет времени записывать эти видео. Советую подготовить OOP. Collections. SQL, Thread, Hibernate, Spring. Это основные темы при трудоустройстве.
Только в пятницу задали такой вопрос)
1) Ссылочные и примитивные типы данных.
2) Что происходит при создании объекта (про память, вызов конструкторов в иерархии).
3) Позднее и раннее связывание. Переопределение и перегрузка методов (статических и нестатических).
4) Исключения. Зачем они вообще нужны. Иерархия классов исключений. Проверяемые и непроверяемые исключения.
почему Runtime exeption не обрабатываемая, вот прям максимально в глубь зайти
Не понимаю что значит слово "состояния" класа. Типа в интерефейсе поле может быть только константой, а в абстрактном класе - поле как в обычном класе. Если взять англ термин, то какой будет?
state.
Java Абстрактный класс VS Интерфейс
www.job4j.ru - Курсы Java разработки c трудоустройством.
Состояние - это ведь конструктор?) к чему такая путаница.. Петр, если интересно подкину тему к видео. На ютубе полно видео про интерфейс, но все описывается так что есть вот интерфейс и класс его реализующий должен реализовать его методы. И народ на самом деле начинает думать что интерфейс создан для того, чтобы класс его реализующий реализовал его методы. Вот и вся его надобность, чтобы мол ничего не забыть. lol
@@mukcep5414 Конструктор описывает состояние, но не является им. Состояние - значение полей, которое объект принимает.
Ой, а я всегда думал, что при создании объекта я вызывал конструктор и прописывал там его значения а оказывается вот оно чего.. ну ок. Тогда эмм«метод с конструктором» мы можем написать интерфейсе получается? Или что мы можем получить объект в абстрактного класса с его этим как его состоянием?
@@mukcep5414 хорошо, если ты передал в конструктор параметры new Human(23, "Mark",) ты разве не описываешь то с какими значениями полей он будет создан. К твоему вопросу и моему ответу выше. Думаю правильнее было бы сказать что конструктор это возможность задать или описать, то как объект будет создан и какое состояние объекта будет, после его создания. И еще состояние мы можем и с помощью сеттеров поменять.
4:07 у абстрактного класса есть состояние. Конструктор есть и есть некое состояние. Как я понял это возможно построить объект с значениями конструктора. Так?
Извиняюсь за возможно тупой вопрос, но мне не дает покоя, зачем было отказываться от множественного наследования, а потом добавлять его в интерфейсы? Какой бы был смысл в интерфейсах, если бы было множественное наследование и можно было бы в абстрактных классах делать все то же, что и в интерфейсах?
Интерфейсы не имеют состояний. Если нет данных, то и проблем нет.
В абстрактном же классе тоже константы объявлены final...
Для чего в методе "инфо" абстрактного класса используется ключевое слово this?
На тот момент я считал, что это стилистически важный момент. Сейчас могу сказать, что лучше в коде нигде не писать this. Это шум.
Спасибо, жаль что видео только одно с этого сборника
Всем привет! Есть вопрос про состояние/поведение!? Я знаю, что абстрактный класс описывает как поведение, так и состояние, в то время как интерфейс определяет только поведение. А почему в видео наоборот, смотрел и в конспекте подправил, а потом пошёл уточнять в ООП
Все верно вы говорите. Класс описывает поведение и состояние, а интерфейс только поведение. У меня наоборот в видео?
@@job4j Да, посмотрите своё видео!
Это лучшее объяснение на русском языке отличий между интерфейсом и абстрактным классом. Остальные задроты в своих видосах говорили непонятную тарабарщину.
super vs this
Super относится к родительскому [наследуемому] классу, а this - к текущему.
Все хорошо, но key == кий :)
8:25 не понял как абстрактный класс содержит состояние объекта, когда он не может иметь экземпляров.
когда будет создан объект класса, унаследованный от абстрактного класса, то этот объект будет иметь состояние. И часть его состояния может быть в переменных описанных в абстрактном классе.
Выводы конечно те ещё) Избавляйтесь от абстрактных классов и наследования, интерфейсы лучше)
Ну я ещё добавлю разницу между Абстрактным Классом и Интерфейсом....
Интерфейс даёт поведение разным объектам которые к примеру умеют летать пример от интерфейса Fly можно имплементить метод fly() и его могу имплементить разные классы типа Птица , Самолёт или Пчела...
А абстрактный класс неполноценный класс поэтому у него нету экземпляра и от него наследуются похожие на него класс потому что у них должны быть похожие методы возьмёт к примеру Абстрактный класс Самолёт он же Airplain у самолёта есть части матор колёса и тд...делаем из запчастей методы к примеру motor(); и можно от него наследоваться и будут базовые параметры...И добавлю ещё почему использовать абстрактный класс все абстрактные классы это абстрактные сущности то есть грубо говоря неконкретные но мы может из Самолёта наследоваться своим классом конкретным самолётом к примеру модель которого Ту-204 и всё готово можно дописывать свои конкретные параметры...
Всем спасибо удачи (не лайкайте не для этого старался ^_^)
ну такое, ни разу не доходчиво объяснено, с темы на тему постоянные перепрыгивания. Ну и много неточностей в терминологии, по типу что интерфейсы наследуются и тп
Спасибо за комментарий. Надеюсь, хоть в чем-то Вам это видео помогло.
а как понять состояние обьекта? в чем она выражается? Обьясните тупому пж
Неумение использовать наследование там где оно нужно не нужно заменять интерфейсами) это плохой совет
кароче интерфейс это абстрактный класс которому запретили много чего .. а потом начали дореализовывать в новых версиях явы ..разрешая то что запретили )) в будущем полагаю .. все интерфейсы приведут к абстрактным классам и таким образом он самоуничтожится )))