Надеюсь поможет: полиморфизм „множество форм“: то есть есть один интерфейс и у его методов есть множество реализаций. Это свойство, которое позволяет одно и тоже имя, например, метода, использовать для решения нескольких внешне схожих, но технически разных задач. Виды полиморфизма: динамический (переопределение метода) - и у родительского и дочернего метода те же самые параметры, только в детском методе мы переписываем блок действий под себя статический (перегрузка метода) - в родительском классе есть метод с одним именем, а в детском классе тот же метод но с другим параметром.
Привет. Может посоветуешь, как и где изучить язык программирования бесплатно?(буду благодарен) а то жизнь загнала в хороший угол, как финансово, так и физически. и еще следующий вопрос: когда можно начинать искать работу(то есть какие знания должны быть на этом этапе)
@@alexandrkomar4741если вдруг еще не получили ответа, то вот: 1) Учить можно где угодно, но мне друг бэкендер посоветовал metanit, ну и ролики на ютубе, еще сверху ребята из симбирсофта сказали, что можно почитать "Изучаем Java" Кэти Сьера и Берт Бейс 2) В основном, для попадания на стажировку требуют уверенно знание Java Core, знакомство со Spring и Hibernate, опыт написания простых запросов на SQL, ну и где-то еще просят англ хотя бы A2.
Наглядное объяснение - самое лучшее объяснение. Один раз посмотрел, и всё! не надо перечитывать сотни формулировок, в попытках понять. что же имелось ввиду! Спасибо вам!
С вашего позволения немного дополню учителя. Если в классах Birds, Ostrich, Crow сделать методы static. То в итоге будет вызываться реализация метода именно класса Birds. Лайк что бы новички сами попробовали. Привет из 2020))
Привет. А в чем смысл этого? выходит, что вызывается метод родителя, который можно вызвать и так(если мы его не переопределяем) и к нему и так можно достучаться с помощью super
@@alexandrkomar4741 Сори, ты абсолютно прав, написал комментарий когда только начинал обучение, и посчитал это важным дополнением. Но сейчас понимаю что это и так интуитивно всем станет понятно))
@@alexandrkomar4741 В совокупности, чуть меньше года заняло. Но я после полугода свернул в сторону андроида. Чёт мне бек не очень зашел. Фронт как-то проще и интересней. Посоветовать могу этот канал. А так сам по кусочкам с интернета информацию собирал. Посмотри на Ютубе записи онлайн собесов. Будешь хоть знать к чему готовиться)
Ребята, я мало что знаю, только учусь Жаве, но почитал тут пару статей и, как я понял: Статический полиморфизм - это когда решение, какая именно форма метода будет использована, принимается во время компиляции. Динамический полиморфизм - это когда решение, какая именно форма метода будет использована, принимается во время Run time. Переопределение метода - это динамический полиморфизм, происходит в подклассах. Переопределение метода, помечается значком @Override, и если IDE ругается на @Override, то это уже не переопределение. Перегрузка метода - это статический полиморфизм поскольку происходит внутри одного и того же класса и необходимая форма метода определяется во время компиляции, а не Run Time. И использование метода в подклассе и именем метода супера, это не перегрузка и не переопределение. Это просто новый метод, вот и всё. Источники: www.baeldung.com/java-polymorphism docs.oracle.com/javase/tutorial/java/javaOO/methods.html
Выходит есть Статический полиморфизм(перегрузка метода), Динамический полиморфизм(переопределение метода) и Полиморфизм(работа при помощи одного метода (у которого параметры родительского типа) с методами различных объектов)?
Как правило, когда говорят о полиморфизме, говорят о динамическом полиморфизме - как о способности jvm определять/вызывать переопределенный метод у наследников во время выполнения программы (runtime). Из Вашего описания, я бы написал так Полиморфизм = Динамический полиморфизм (описание) + Полиморфизм (как это работает)
нужно расширить урок 22 на 22.1 и 22.2 больше примеров. Показан полиморфизм только с методами - полиморфизм с полями работает? или применим только к методам?
Лучшее обьяснение, которое я когда-либо видел! Спасибо вам огромное! Пусть Бог благословит вас!
- "Сынок,ка говорит курочка?"
- " ко-ко-ко!"
- "Правильно! А как говорит ворона?"
- "кар-кар"
- "Молодец! а как говорит страус?"
- " Еее baby! "
Надеюсь поможет: полиморфизм „множество форм“: то есть есть один интерфейс и у его методов есть множество реализаций.
Это свойство, которое позволяет одно и тоже имя, например, метода, использовать для решения нескольких внешне схожих, но технически разных задач.
Виды полиморфизма:
динамический (переопределение метода) - и у родительского и дочернего метода те же самые параметры, только в детском методе мы переписываем блок действий под себя
статический (перегрузка метода) - в родительском классе есть метод с одним именем, а в детском классе тот же метод но с другим параметром.
Привет. Может посоветуешь, как и где изучить язык программирования бесплатно?(буду благодарен) а то жизнь загнала в хороший угол, как финансово, так и физически. и еще следующий вопрос: когда можно начинать искать работу(то есть какие знания должны быть на этом этапе)
@@alexandrkomar4741если вдруг еще не получили ответа, то вот:
1) Учить можно где угодно, но мне друг бэкендер посоветовал metanit, ну и ролики на ютубе, еще сверху ребята из симбирсофта сказали, что можно почитать "Изучаем Java" Кэти Сьера и Берт Бейс
2) В основном, для попадания на стажировку требуют уверенно знание Java Core, знакомство со Spring и Hibernate, опыт написания простых запросов на SQL, ну и где-то еще просят англ хотя бы A2.
Гений
Наглядное объяснение - самое лучшее объяснение. Один раз посмотрел, и всё! не надо перечитывать сотни формулировок, в попытках понять. что же имелось ввиду! Спасибо вам!
С вашего позволения немного дополню учителя. Если в классах Birds, Ostrich, Crow сделать методы static. То в итоге будет вызываться реализация метода именно класса Birds. Лайк что бы новички сами попробовали. Привет из 2020))
Привет. А в чем смысл этого? выходит, что вызывается метод родителя, который можно вызвать и так(если мы его не переопределяем) и к нему и так можно достучаться с помощью super
@@alexandrkomar4741 Сори, ты абсолютно прав, написал комментарий когда только начинал обучение, и посчитал это важным дополнением. Но сейчас понимаю что это и так интуитивно всем станет понятно))
@@ЯрославКалинин-п9ы я месяц как учу. Долго ты изучал? Может порекомендуешь что?
@@alexandrkomar4741 В совокупности, чуть меньше года заняло. Но я после полугода свернул в сторону андроида. Чёт мне бек не очень зашел. Фронт как-то проще и интересней. Посоветовать могу этот канал. А так сам по кусочкам с интернета информацию собирал. Посмотри на Ютубе записи онлайн собесов. Будешь хоть знать к чему готовиться)
@@ЯрославКалинин-п9ы спасибо
Все обрывочные знания начинают упорядочиваться. Спасибо большое!!!!
Пожалуйста )
Кто из 2020?) Спасибо замечательный урок !
Вы до сих пор изучаете?
@@NiflheimForever а что, Java не актуальна?
@@саняолижевзькийсаня Она еще долго будет актуальна, просто спросил про успехи за 1 месяц.
Эх я из 15.01.2021, привет всем в 2022!
@@MADESTsakha/ нас двое 17/01/2021
Класс, у меня ни наследование ни полиморфизм никак не могли уложиться в голове. Спасибище
Очень хорошо все пояснил, особенно понравилось второе определение. Спасибо.
Вы лучший учитель.
Thanks a million!!!👍👍👍
Очень хорошо все пояснил!!!
Ребята, я мало что знаю, только учусь Жаве, но почитал тут пару статей и, как я понял:
Статический полиморфизм - это когда решение, какая именно форма метода будет использована, принимается во время компиляции.
Динамический полиморфизм - это когда решение, какая именно форма метода будет использована, принимается во время Run time.
Переопределение метода - это динамический полиморфизм, происходит в подклассах.
Переопределение метода, помечается значком @Override, и если IDE ругается на @Override, то это уже не переопределение.
Перегрузка метода - это статический полиморфизм поскольку происходит внутри одного и того же класса и необходимая форма метода определяется во время компиляции, а не Run Time. И использование метода в подклассе и именем метода супера, это не перегрузка и не переопределение. Это просто новый метод, вот и всё.
Источники:
www.baeldung.com/java-polymorphism
docs.oracle.com/javase/tutorial/java/javaOO/methods.html
спасибо)круто объясняете ) желаю много подписчиков , развитие вам и каналу)
Лайк, однозначно)
ctrl + A (всё выделяет, это и так все знают)
А что дальше вы нажали, я вот не очень понимаю.
Тайминг 2:00
Ctrl+Alt+L - Reformat code
Добрый день, у меня вопрос, что вы нажали на 2:03 чтобы исправить вид кода, вы сказали Ctrl+A и дальше что?
Добрый! Попробуйте Ctrl + Alt + L
Выходит есть Статический полиморфизм(перегрузка метода), Динамический полиморфизм(переопределение метода) и Полиморфизм(работа при помощи одного метода (у которого параметры родительского типа) с методами различных объектов)?
Как правило, когда говорят о полиморфизме, говорят о динамическом полиморфизме - как о способности jvm определять/вызывать переопределенный метод у наследников во время выполнения программы (runtime).
Из Вашего описания, я бы написал так Полиморфизм = Динамический полиморфизм (описание) + Полиморфизм (как это работает)
похоже на то, как один счетчетчик timer отсчитывает секунды в разных независимых процессах. timer один, а timerTaskи разные. это тоже перегрузка?
нужно расширить урок 22 на 22.1 и 22.2 больше примеров. Показан полиморфизм только с методами - полиморфизм с полями работает? или применим только к методам?
Нет, только методы )
Поля не переопределяются а скрываются, поле субкласса скрывает собой поле суперкласса
I am Crow. I am a crow and I am flying
really?
Выбешивают уточнения. Говорит: Это, не, точнее это, не, точнее, не точнее. Да, бля ,подумай сначала, потом скажи.
Говорят святая водичка помогает. Пару кубиков в\м)))