интерфейс и полиморфизм не являются специфическими для каких-либо языков, но концепции, используемые для моделирования проблемы и пространства решения.Все объектно-ориентированные языки предоставляют способ для создания или реализации кода, который близко соответствует этим концепциям.
Прежде чем посмотреть, что это такое?Давайте кратко рассмотрим, зачем они вам нужны?и как они полезны.
Простой пример интерфейса - «Автомобиль» всегда имеет один и тот же интерфейс «Разрыв, ускорение», если вы знаете, как управлять автомобилем, вы можете управлять любым автомобилем.Поэтому, если человек (решение) получает этот единый интерфейс автомобиля, независимо от марки и модели, он может управлять, поэтому вы можете управлять практически любой машиной.Таким же образом, когда вы пишете код для решения одного конкретного класса проблем, вы можете повторно использовать решение для нескольких доменов или объектов, которые предоставляют схожий интерфейс для работы.
Простой пример Полиморфизма, посмотрите на Счет (это может быть проверка или сбережение, предполагая, что каждый привлекает различные дивиденды), вы идете в банк и спрашиваете кассира, каков мой баланс?или дивиденды?вам не нужно указывать, какой у вас аккаунт, он выяснит изнутри свои книги и предоставит вам подробности.Внутренние подробности о том, как работает кассир, скрыты от вас для каждого случая (проверка и сбережения), где любой может прийти и задать вопрос и получить ответ, подходящий для данного лица.Таким образом, кассир является полиморфным (он меняет свои рабочие правила или формы), чтобы удовлетворить клиента.
Интерфейсы, как в примере с автомобилем, предоставляют контракт на работу с объектами, если вы придерживаетесь этого контракта одного набора решений.может быть применен к другому домену, если рассматриваемые интерфейсы одинаковы.Interfaces promote reuse of solutions by making them generic.
Если у вас есть кредитная карта, на которой можно пить пиво, вам не нужно иметь специальную панель для каждого типа кредитной карты.
Полиморфизм, как в примере с учетной записью Teller, будет Promote reuse of interface or messages by reusing same message or interface to provide different but semantically equivalent mechanisms
.Вы берете свой телефон и набираете номер, независимо от того, является ли номер назначения стационарным, мобильным или чем-то еще, здесь интерфейс набора из 10 цифр используется повторно в каждом из механизмов, которые семантически эквивалентны.
Теперь вы можете продолжить поиск некоторых интерфейсов в VB.NET или PHP, я не очень осведомлен об этих языках
Посмотрите, как элементы управления (VB.NET) реагируют нааналогичные методы, чтобы увидеть полиморфизм в действии.Для интерфейсов ищите объекты, которые реализуют IEnumerable (из ответа выше), или ISerializable и объекты, которые их реализуют.