Полиморфизм - это концепция OOPS. Это связано с поведением в реальном мире. В нашем мире есть большинство вещей, которые ведут себя по-разному. Например, мужчина ведет себя по-разному: когда он был на должности, тогда он был наемным работником, когда он был перед своей женой, тогда он стал мужем, когда он был перед своими детьми, тогда он стал отцом. Итак, вот процесс, сочетающий одно с другим действием.

Определение:

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

Есть два типа полиморфизма:

1. Статический полиморфизм / полиморфизм времени компиляции

2. Динамический полиморфизм / полиморфизм времени выполнения

1. Статический полиморфизм времени компиляции

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

  • В основном методе создается экземпляр класса калькулятора и вызывается метод результата с двумя разными параметрами в разных вызовах, поэтому в зависимости от параметра он проверяет метод и выдает результат. Итак, вот статический параметр готов.

2. Динамический полиморфизм / полиморфизм времени выполнения.

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

  • В приведенном выше примере мы создали один базовый класс и производный класс. В обоих классах одни и те же методы, но разные реализации, так что на этом метод окончен.

  • Мы можем вызвать один и тот же метод, создав другой объект, но мы получили другой результат, потому что здесь только то же имя метода, но у него другая реализация.

Вывод:

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

Если вы подробно изучаете концепцию OOPS, используя C #, просмотрите следующее видео, чтобы узнать о лучших практиках.