Java SE. Урок 22. Полиморфизм. Перегрузка и переопределение методов

  Рет қаралды 32,740

Follow the white rabbit

Follow the white rabbit

7 жыл бұрын

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

Пікірлер: 53
@user-pm8lf3eu8g
@user-pm8lf3eu8g 4 жыл бұрын
- "Сынок,ка говорит курочка?" - " ко-ко-ко!" - "Правильно! А как говорит ворона?" - "кар-кар" - "Молодец! а как говорит страус?" - " Еее baby! "
@AlexFrango-ss8zn
@AlexFrango-ss8zn 5 ай бұрын
Лучшее обьяснение, которое я когда-либо видел! Спасибо вам огромное! Пусть Бог благословит вас!
@MrMits92
@MrMits92 6 жыл бұрын
Надеюсь поможет: полиморфизм „множество форм“: то есть есть один интерфейс и у его методов есть множество реализаций. Это свойство, которое позволяет одно и тоже имя, например, метода, использовать для решения нескольких внешне схожих, но технически разных задач. Виды полиморфизма: динамический (переопределение метода) - и у родительского и дочернего метода те же самые параметры, только в детском методе мы переписываем блок действий под себя статический (перегрузка метода) - в родительском классе есть метод с одним именем, а в детском классе тот же метод но с другим параметром.
@alexandrkomar4741
@alexandrkomar4741 3 жыл бұрын
Привет. Может посоветуешь, как и где изучить язык программирования бесплатно?(буду благодарен) а то жизнь загнала в хороший угол, как финансово, так и физически. и еще следующий вопрос: когда можно начинать искать работу(то есть какие знания должны быть на этом этапе)
@vasyapupkin4203
@vasyapupkin4203 3 жыл бұрын
@@alexandrkomar4741если вдруг еще не получили ответа, то вот: 1) Учить можно где угодно, но мне друг бэкендер посоветовал metanit, ну и ролики на ютубе, еще сверху ребята из симбирсофта сказали, что можно почитать "Изучаем Java" Кэти Сьера и Берт Бейс 2) В основном, для попадания на стажировку требуют уверенно знание Java Core, знакомство со Spring и Hibernate, опыт написания простых запросов на SQL, ну и где-то еще просят англ хотя бы A2.
@thirddayoffebruary
@thirddayoffebruary Жыл бұрын
Гений
@kolob204
@kolob204 4 жыл бұрын
Наглядное объяснение - самое лучшее объяснение. Один раз посмотрел, и всё! не надо перечитывать сотни формулировок, в попытках понять. что же имелось ввиду! Спасибо вам!
@user-ew4io3jo2d
@user-ew4io3jo2d 5 жыл бұрын
Все обрывочные знания начинают упорядочиваться. Спасибо большое!!!!
@followthewhiterabbit6924
@followthewhiterabbit6924 5 жыл бұрын
Пожалуйста )
@user-vr5fi6xx2p
@user-vr5fi6xx2p 4 жыл бұрын
С вашего позволения немного дополню учителя. Если в классах Birds, Ostrich, Crow сделать методы static. То в итоге будет вызываться реализация метода именно класса Birds. Лайк что бы новички сами попробовали. Привет из 2020))
@alexandrkomar4741
@alexandrkomar4741 3 жыл бұрын
Привет. А в чем смысл этого? выходит, что вызывается метод родителя, который можно вызвать и так(если мы его не переопределяем) и к нему и так можно достучаться с помощью super
@user-vr5fi6xx2p
@user-vr5fi6xx2p 3 жыл бұрын
@@alexandrkomar4741 Сори, ты абсолютно прав, написал комментарий когда только начинал обучение, и посчитал это важным дополнением. Но сейчас понимаю что это и так интуитивно всем станет понятно))
@alexandrkomar4741
@alexandrkomar4741 3 жыл бұрын
@@user-vr5fi6xx2p я месяц как учу. Долго ты изучал? Может порекомендуешь что?
@user-vr5fi6xx2p
@user-vr5fi6xx2p 3 жыл бұрын
@@alexandrkomar4741 В совокупности, чуть меньше года заняло. Но я после полугода свернул в сторону андроида. Чёт мне бек не очень зашел. Фронт как-то проще и интересней. Посоветовать могу этот канал. А так сам по кусочкам с интернета информацию собирал. Посмотри на Ютубе записи онлайн собесов. Будешь хоть знать к чему готовиться)
@alexandrkomar4741
@alexandrkomar4741 3 жыл бұрын
@@user-vr5fi6xx2p спасибо
@djadjaandrey
@djadjaandrey Жыл бұрын
Thanks a million!!!👍👍👍
@user-dd8lx7ck8s
@user-dd8lx7ck8s 4 жыл бұрын
Кто из 2020?) Спасибо замечательный урок !
@NiflheimForever
@NiflheimForever 4 жыл бұрын
Вы до сих пор изучаете?
@user-wm6dh5sr3t
@user-wm6dh5sr3t 4 жыл бұрын
@@NiflheimForever а что, Java не актуальна?
@NiflheimForever
@NiflheimForever 4 жыл бұрын
@@user-wm6dh5sr3t Она еще долго будет актуальна, просто спросил про успехи за 1 месяц.
@MADESTsakha
@MADESTsakha 3 жыл бұрын
Эх я из 15.01.2021, привет всем в 2022!
@alexandrkomar4741
@alexandrkomar4741 3 жыл бұрын
@@MADESTsakha/ нас двое 17/01/2021
@user-zg2ym5tk8h
@user-zg2ym5tk8h 3 жыл бұрын
Класс, у меня ни наследование ни полиморфизм никак не могли уложиться в голове. Спасибище
@a.okhrimchuk399
@a.okhrimchuk399 7 жыл бұрын
Очень хорошо все пояснил, особенно понравилось второе определение. Спасибо.
@user-vh6xt9si8n
@user-vh6xt9si8n 4 жыл бұрын
Очень хорошо все пояснил!!!
@qalaisyn5011
@qalaisyn5011 5 жыл бұрын
спасибо)круто объясняете ) желаю много подписчиков , развитие вам и каналу)
@Andrzej3935
@Andrzej3935 3 жыл бұрын
Вы лучший учитель.
@xatowar
@xatowar 3 жыл бұрын
Лайк, однозначно)
@pascha9141
@pascha9141 3 жыл бұрын
Ребята, я мало что знаю, только учусь Жаве, но почитал тут пару статей и, как я понял: Статический полиморфизм - это когда решение, какая именно форма метода будет использована, принимается во время компиляции. Динамический полиморфизм - это когда решение, какая именно форма метода будет использована, принимается во время Run time. Переопределение метода - это динамический полиморфизм, происходит в подклассах. Переопределение метода, помечается значком @Override, и если IDE ругается на @Override, то это уже не переопределение. Перегрузка метода - это статический полиморфизм поскольку происходит внутри одного и того же класса и необходимая форма метода определяется во время компиляции, а не Run Time. И использование метода в подклассе и именем метода супера, это не перегрузка и не переопределение. Это просто новый метод, вот и всё. Источники: www.baeldung.com/java-polymorphism docs.oracle.com/javase/tutorial/java/javaOO/methods.html
@me_000_xXx
@me_000_xXx 5 жыл бұрын
похоже на то, как один счетчетчик timer отсчитывает секунды в разных независимых процессах. timer один, а timerTaskи разные. это тоже перегрузка?
@alexandrkomar4741
@alexandrkomar4741 3 жыл бұрын
Выходит есть Статический полиморфизм(перегрузка метода), Динамический полиморфизм(переопределение метода) и Полиморфизм(работа при помощи одного метода (у которого параметры родительского типа) с методами различных объектов)?
@followthewhiterabbit6924
@followthewhiterabbit6924 3 жыл бұрын
Как правило, когда говорят о полиморфизме, говорят о динамическом полиморфизме - как о способности jvm определять/вызывать переопределенный метод у наследников во время выполнения программы (runtime). Из Вашего описания, я бы написал так Полиморфизм = Динамический полиморфизм (описание) + Полиморфизм (как это работает)
@NickVenson
@NickVenson 4 жыл бұрын
ctrl + A (всё выделяет, это и так все знают) А что дальше вы нажали, я вот не очень понимаю. Тайминг 2:00
@useless408
@useless408 4 жыл бұрын
Ctrl+Alt+L - Reformat code
@bednieporosyatki
@bednieporosyatki 4 жыл бұрын
нужно расширить урок 22 на 22.1 и 22.2 больше примеров. Показан полиморфизм только с методами - полиморфизм с полями работает? или применим только к методам?
@followthewhiterabbit6924
@followthewhiterabbit6924 4 жыл бұрын
Нет, только методы )
@vip51000
@vip51000 3 жыл бұрын
Поля не переопределяются а скрываются, поле субкласса скрывает собой поле суперкласса
@user-qe4tb8nk6f
@user-qe4tb8nk6f 2 жыл бұрын
Добрый день, у меня вопрос, что вы нажали на 2:03 чтобы исправить вид кода, вы сказали Ctrl+A и дальше что?
@followthewhiterabbit6924
@followthewhiterabbit6924 2 жыл бұрын
Добрый! Попробуйте Ctrl + Alt + L
@vanyanazarenko02
@vanyanazarenko02 2 жыл бұрын
I am Crow. I am a crow and I am flying
@user-gc4nx8tm2u
@user-gc4nx8tm2u Жыл бұрын
really?
@Canystra
@Canystra 3 жыл бұрын
Выбешивают уточнения. Говорит: Это, не, точнее это, не, точнее, не точнее. Да, бля ,подумай сначала, потом скажи.
@podpalmoi
@podpalmoi 3 жыл бұрын
Говорят святая водичка помогает. Пару кубиков в\м)))
Java SE. Урок 23. Абстрактные классы и методы
6:47
Follow the white rabbit
Рет қаралды 26 М.
Задержи дыхание дольше всех!
00:42
Аришнев
Рет қаралды 3,7 МЛН
Llegó al techo 😱
00:37
Juan De Dios Pantoja
Рет қаралды 58 МЛН
Раннее и Позднее Связывание
12:44
Volodya Mozhenkov
Рет қаралды 41 М.
Устройство HashMap в Java
21:09
Видосы с мобилки
Рет қаралды 8 М.
Коллекции в Java: List, Set и Map
18:59
Devmark Ru
Рет қаралды 36 М.
Comparable и Comparator в Java
20:55
Тимофей Коваленко
Рет қаралды 11 М.
Java SE. Урок 26. Класс String и его методы
19:56
Follow the white rabbit
Рет қаралды 73 М.
Задержи дыхание дольше всех!
00:42
Аришнев
Рет қаралды 3,7 МЛН