170 похожих чатов

Привет, как объясните что такое полиморфизм? Видел разные определения и

объяснения, я немного запутался где верное. Одно запомнилось что это переиспользование кода, второе сейчас видео смотрел что это единый интерфейс и множество реализаций. Пример приводился с абстрактным классом где потом каждый класс реализует абстрактный метод. Тем самым автор считает что это полиморфизм, вроде первое тоже попадает под это определение, но я могу вынести код который дублируется в метод, будет ли это считаться полиморфизмом?

6 ответов

6 просмотров

нехило так простыми словами)

https://habr.com/ru/post/87205/

Николай-Воробьев Автор вопроса
Владислав Субботин
https://habr.com/ru/post/87205/

Эту статью кстати читал уже

Alexey Gevondyan
нехило так простыми словами)

Я уже несколько дней вижу в ютубе видео "главная ошибка в инкапсуляции ООП, не ошибись на собеседовании" и парень 7 минут несёт какой-то бред, будто разный доступ к полям в инкапсуляции это только одна сторона медали

Ратмир Диронин
Я уже несколько дней вижу в ютубе видео "главная о...

с полиморфизмом все ок, а вот наследование - да, проблема.

в случае пыхи считай, что это использования интерфейсов самый тупой и в лоб пример callable из пхп. Тебе не важно что там внутри: массив, объект с __invoke, стринга с именем функции или анонимная функа. Любой callable ты можешь выполнить Тоже самое и с интерйфейсом или абстрактным классом. Если твой объект реализует интрфейс или наследует абстрактный класс, то тебе не важна какая конкретно реализация у тебя в данный момент. Ты просто можешь сделать то, что обещает тебе контракт

Похожие вопросы

Обсуждают сегодня

$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написан...
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
25
здравствуйте. пытаюсь проверить, содержится ли в десятичном представлении инта некоторая цифра. совершаю: strstr(x, "5") != NULL) получаю ошибку с фото (заведомо неработающий ...
Катя Шевчук🪇
18
Что там вообще с кроссплатформенностью?
🄼🄰🄺🅉🄰🄸
23
Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
28
Ребята. Этот вопрос мучает меня уже 13 - 15 лет. Почему при валидации в ФормЛистере у поля phone поведение странноватое и отличается от других? А именно, вот набор правил д...
Андрей [aharito] Харитонов
1
{ char buff = *start; *start = *end; *end = buff; } Из-за этой строчки? Что каждый символ через перем бафф? Как вариант использовать другие со...
Wenks
12
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
Кстати, а я вот тут подумал. Допустим, у нас имеется цикл который выполняет огромное количество итераций, но мы хотим, чтобы какие-то действия исполнилось только один раз. В Я...
The Bird of Hermes
23
Карта сайта