Java Абстрактный класс VS Интерфейс

  Рет қаралды 18,763

Петр Арсентьев

Петр Арсентьев

Күн бұрын

Пікірлер: 54
@object-22
@object-22 Жыл бұрын
Вопросов нет. Наоборот, нашёл тут ответ на свои вопросы. Спасибо за понятное и простое объяснение.
@divergenny
@divergenny Ай бұрын
Эх, спросили меня этот вопрос, забыл ответ на него. Спасибо большое.
@iryna6389
@iryna6389 5 жыл бұрын
Спасибо, вот прям в тему!!! Полностью разобран вопрос!!! Спасибо!!!
@alexpanasyuk4696
@alexpanasyuk4696 5 жыл бұрын
Irina Привет.Видел тебя в комментах bobocode) Уже работаешь?
@ilya9852
@ilya9852 Жыл бұрын
Имя метода в сочетании с числом параметров и их типами называется его сигнатурой. А сигнатура метода в сочетании с типом возвращаемого значения называется контрактом метода. (4:32)
@HowItWorks
@HowItWorks 5 жыл бұрын
Спасибо. На мой взгляд несколько сумбурно, но все ключевые моменты рассказаны.
@PRO-pt6ew
@PRO-pt6ew 7 ай бұрын
Только в пятницу задали такой вопрос)
@Mifuragon
@Mifuragon 3 жыл бұрын
Вот бы продолжение этой клёвой рубрики
@leonidkorkulenko4838
@leonidkorkulenko4838 5 жыл бұрын
Спасибо большое! Детально, доходчиво и по делу)
@alekseysidorenko1855
@alekseysidorenko1855 5 жыл бұрын
Пётр, спасибо за видео.
@АлександрПанин-щ2ь
@АлександрПанин-щ2ь 3 жыл бұрын
Шикарное объяснение!
@sazanya854
@sazanya854 5 жыл бұрын
1) Ссылочные и примитивные типы данных. 2) Что происходит при создании объекта (про память, вызов конструкторов в иерархии). 3) Позднее и раннее связывание. Переопределение и перегрузка методов (статических и нестатических). 4) Исключения. Зачем они вообще нужны. Иерархия классов исключений. Проверяемые и непроверяемые исключения.
@ilya9852
@ilya9852 Жыл бұрын
Спасибо, теперь всё понятно
@MuratFatykhov
@MuratFatykhov 10 ай бұрын
Потому что я бээтмээн 7:59 Спасибо за видео! Шикарно раскидал 🔥
@artonext
@artonext 4 жыл бұрын
Ну я ещё добавлю разницу между Абстрактным Классом и Интерфейсом.... Интерфейс даёт поведение разным объектам которые к примеру умеют летать пример от интерфейса Fly можно имплементить метод fly() и его могу имплементить разные классы типа Птица , Самолёт или Пчела... А абстрактный класс неполноценный класс поэтому у него нету экземпляра и от него наследуются похожие на него класс потому что у них должны быть похожие методы возьмёт к примеру Абстрактный класс Самолёт он же Airplain у самолёта есть части матор колёса и тд...делаем из запчастей методы к примеру motor(); и можно от него наследоваться и будут базовые параметры...И добавлю ещё почему использовать абстрактный класс все абстрактные классы это абстрактные сущности то есть грубо говоря неконкретные но мы может из Самолёта наследоваться своим классом конкретным самолётом к примеру модель которого Ту-204 и всё готово можно дописывать свои конкретные параметры... Всем спасибо удачи (не лайкайте не для этого старался ^_^)
@AlexanderShock3r
@AlexanderShock3r 5 жыл бұрын
Подписался чтобы остальные вопросы на собеседовании посмотреть, а тут в плейлисте только один этот видос
@job4j
@job4j 5 жыл бұрын
Добрый день. Александр. Спасибо, что смотрите. Пока нет времени записывать эти видео. Советую подготовить OOP. Collections. SQL, Thread, Hibernate, Spring. Это основные темы при трудоустройстве.
@job4j
@job4j 5 жыл бұрын
Java Абстрактный класс VS Интерфейс www.job4j.ru - Курсы Java разработки c трудоустройством.
@mukcep5414
@mukcep5414 5 жыл бұрын
Состояние - это ведь конструктор?) к чему такая путаница.. Петр, если интересно подкину тему к видео. На ютубе полно видео про интерфейс, но все описывается так что есть вот интерфейс и класс его реализующий должен реализовать его методы. И народ на самом деле начинает думать что интерфейс создан для того, чтобы класс его реализующий реализовал его методы. Вот и вся его надобность, чтобы мол ничего не забыть. lol
@user-varmat
@user-varmat 5 жыл бұрын
@@mukcep5414 Конструктор описывает состояние, но не является им. Состояние - значение полей, которое объект принимает.
@mukcep5414
@mukcep5414 5 жыл бұрын
Ой, а я всегда думал, что при создании объекта я вызывал конструктор и прописывал там его значения а оказывается вот оно чего.. ну ок. Тогда эмм«метод с конструктором» мы можем написать интерфейсе получается? Или что мы можем получить объект в абстрактного класса с его этим как его состоянием?
@user-varmat
@user-varmat 5 жыл бұрын
@@mukcep5414 хорошо, если ты передал в конструктор параметры new Human(23, "Mark",) ты разве не описываешь то с какими значениями полей он будет создан. К твоему вопросу и моему ответу выше. Думаю правильнее было бы сказать что конструктор это возможность задать или описать, то как объект будет создан и какое состояние объекта будет, после его создания. И еще состояние мы можем и с помощью сеттеров поменять.
@mukcep5414
@mukcep5414 5 жыл бұрын
4:07 у абстрактного класса есть состояние. Конструктор есть и есть некое состояние. Как я понял это возможно построить объект с значениями конструктора. Так?
@tolstikvladimirov5506
@tolstikvladimirov5506 5 жыл бұрын
спасибо. Пётр, было бы полезно, если бы ты объяснил с точки зрения опыта, когда лучше использовать wildcard, а когда параметр типа. если их нужно ограничивать по иерархии.
@pluto_nash
@pluto_nash Жыл бұрын
Это лучшее объяснение на русском языке отличий между интерфейсом и абстрактным классом. Остальные задроты в своих видосах говорили непонятную тарабарщину.
@АлександрГапонов-в9г
@АлександрГапонов-в9г 6 ай бұрын
Всем привет! Есть вопрос про состояние/поведение!? Я знаю, что абстрактный класс описывает как поведение, так и состояние, в то время как интерфейс определяет только поведение. А почему в видео наоборот, смотрел и в конспекте подправил, а потом пошёл уточнять в ООП
@job4j
@job4j 5 ай бұрын
Все верно вы говорите. Класс описывает поведение и состояние, а интерфейс только поведение. У меня наоборот в видео?
@АлександрГапонов-в9г
@АлександрГапонов-в9г 5 ай бұрын
@@job4j Да, посмотрите своё видео!
@forlearning2653
@forlearning2653 4 жыл бұрын
Не понимаю что значит слово "состояния" класа. Типа в интерефейсе поле может быть только константой, а в абстрактном класе - поле как в обычном класе. Если взять англ термин, то какой будет?
@job4j
@job4j 4 жыл бұрын
state.
@ЕгорСтепанов-ю3г
@ЕгорСтепанов-ю3г Жыл бұрын
Спасибо, жаль что видео только одно с этого сборника
@adeskmath
@adeskmath 4 жыл бұрын
Спасибо!
@alexandrkomar4741
@alexandrkomar4741 3 жыл бұрын
В абстрактном же классе тоже константы объявлены final...
@g.bagiryan
@g.bagiryan 4 жыл бұрын
Извиняюсь за возможно тупой вопрос, но мне не дает покоя, зачем было отказываться от множественного наследования, а потом добавлять его в интерфейсы? Какой бы был смысл в интерфейсах, если бы было множественное наследование и можно было бы в абстрактных классах делать все то же, что и в интерфейсах?
@job4j
@job4j 4 жыл бұрын
Интерфейсы не имеют состояний. Если нет данных, то и проблем нет.
@igorm.9845
@igorm.9845 5 жыл бұрын
Чем отличается компонент от бина?
@ВалерияЧудная-г5г
@ВалерияЧудная-г5г 5 жыл бұрын
почему Runtime exeption не обрабатываемая, вот прям максимально в глубь зайти
@SB-pk2ss
@SB-pk2ss 5 жыл бұрын
ну такое, ни разу не доходчиво объяснено, с темы на тему постоянные перепрыгивания. Ну и много неточностей в терминологии, по типу что интерфейсы наследуются и тп
@job4j
@job4j 5 жыл бұрын
Спасибо за комментарий. Надеюсь, хоть в чем-то Вам это видео помогло.
@mshvsh
@mshvsh 4 жыл бұрын
Для чего в методе "инфо" абстрактного класса используется ключевое слово this?
@job4j
@job4j 4 жыл бұрын
На тот момент я считал, что это стилистически важный момент. Сейчас могу сказать, что лучше в коде нигде не писать this. Это шум.
@ukr-pig
@ukr-pig 21 күн бұрын
А я наоборот слышал что у абстрактного класса не бывает полей - есть методы а вот полей быть не должно.По крайней мере это плохой тон
@Alex-jx6bz
@Alex-jx6bz 2 ай бұрын
"Сигнатура метода - это входящие и выходящие параметрыю" - какие еще выходящие параметры? В сигнатуру метода входят только имя и входящие параметры, они же аргументы!
@namesurname4406
@namesurname4406 2 жыл бұрын
8:25 не понял как абстрактный класс содержит состояние объекта, когда он не может иметь экземпляров.
@ovsyannikovo
@ovsyannikovo 2 жыл бұрын
когда будет создан объект класса, унаследованный от абстрактного класса, то этот объект будет иметь состояние. И часть его состояния может быть в переменных описанных в абстрактном классе.
@Rommel7755
@Rommel7755 5 жыл бұрын
Выводы конечно те ещё) Избавляйтесь от абстрактных классов и наследования, интерфейсы лучше)
@qwertymangames1800
@qwertymangames1800 Жыл бұрын
Неумение использовать наследование там где оно нужно не нужно заменять интерфейсами) это плохой совет
@СашаБулах-т1ф
@СашаБулах-т1ф 5 жыл бұрын
super vs this
@Archeryring
@Archeryring 5 жыл бұрын
Super относится к родительскому [наследуемому] классу, а this - к текущему.
@danielgyrtes6370
@danielgyrtes6370 5 жыл бұрын
Все хорошо, но key == кий :)
@Adios-m9r
@Adios-m9r 3 жыл бұрын
а как понять состояние обьекта? в чем она выражается? Обьясните тупому пж
@Alex-jx6bz
@Alex-jx6bz 3 ай бұрын
Поля (переменные) класса используются для хранения состояния объекта.
Java Собеседование  Вопрос про Enum
10:01
Петр Арсентьев
Рет қаралды 1 М.
Real Man relocate to Remote Controlled Car 👨🏻➡️🚙🕹️ #builderc
00:24
PRANK😂 rate Mark’s kick 1-10 🤕
00:14
Diana Belitskay
Рет қаралды 10 МЛН
Java. Методы equals и hashCode.
15:05
Sergey Arkhipov Java Tutorials
Рет қаралды 39 М.
Comparable и Comparator в Java
20:55
Тимофей Коваленко
Рет қаралды 12 М.
Как работает Java - ликбез
8:51
Хороший программист
Рет қаралды 70 М.
Уроки Java с нуля / #16 - Абстрактные классы и методы
12:19
Школа itProger / Программирование
Рет қаралды 43 М.