Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Наследование C# и полиморфизм с примерами программ

Что такое наследование в C#?

Наследование является важной концепцией C#. Наследование — это концепция, в которой вы определяете родительские классы и дочерние классы. Дочерние классы наследуют методы и свойства родительского класса, но в то же время они также могут изменять поведение методов, если это необходимо. Дочерний класс также может определять собственные методы, если это необходимо.

В этом руководстве по C# вы узнаете-

Давайте лучше разберемся с наследованием C# на примере программы:

Пример наследования C#

Давайте теперь посмотрим, как мы можем включить концепцию наследования в наш код.

Шаг 1) Первый шаг — изменить код нашего учебного класса. На этом шаге мы добавляем приведенный ниже код в файл Tutorial.cs.

Обратите внимание, что теперь нам нужно добавить модификатор доступа «защищено» в поля TutorialID и TutorialName.

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

Шаг 2) Второй шаг — добавить наш новый дочерний класс. Имя этого класса будет «Guru99Tutorial». На этом этапе мы добавляем приведенный ниже код в файл Tutorial.cs. Код должен быть размещен после определения класса Tutorial.

Пояснение кода:-

  1. Первый шаг — создать дочерний класс Guru99Tutorial. Мы также должны упомянуть, что этот класс будет дочерним по отношению к классу Tutorial. Это делается с помощью ключевого слова ‘:’.
  2. Далее мы определяем метод RenameTutorial. Он будет использоваться для переименования поля TutorialName. Этот метод принимает строковую переменную, содержащую новое имя учебника.
  3. Затем мы присвоили параметр pNewName полю TutorialName.
    Примечание :— Несмотря на то, что мы не определили поле TutorialName в классе «Guru99Tutorial», мы все еще можем получить доступ к этому полю. Это связано с тем, что «Guru99Tutorial» является дочерним классом класса Tutorial. А поскольку мы сделали поля класса Tutorial защищенными, этот класс может получить к ним доступ.

Шаг 3) Последний шаг — изменить наш основной файл Program.cs. В нашем консольном приложении мы собираемся создать объект класса Guru99Tutorial. С этим объектом мы собираемся вызвать метод RenameTutorial. Затем мы отобразим поле TutorialName с помощью метода GetTutorial.

01

Пояснение кода:-

  1. Первый шаг — создать объект для класса Guru99Tutorial. Это делается с помощью ключевого слова «новое». Обратите внимание, что на этот раз мы не создаем объект класса Tutorial.
  2. Мы используем метод RenameTutorial класса Guru99Tutorial, чтобы изменить поле TutorialName. Мы передаем строку «.Net by Guru99» в метод RenameTutorial.
  3. Затем мы вызываем метод GetTutorial. Обратите внимание, что хотя этот метод не определен в классе Guru99Tutorial, мы все равно можем получить к нему доступ. Затем выходные данные метода GetTutorial отображаются на консоли с помощью метода Console.WriteLine.

Если приведенный выше код введен правильно и программа выполнена успешно, отобразится следующий вывод.

Вывод:

Из вывода ясно видно, что поле TutorialName было переименовано в «.Net by Guru99». Это стало возможным благодаря методу RenameTutorial, вызываемому дочерним классом.

Что такое полиморфизм в C#?

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

Вы лучше поймете полиморфизм C#, ознакомившись с приведенным ниже примером программы:

Пример полиморфизма C#

Давайте теперь посмотрим, как мы можем включить концепцию полиморфизма в наш код.

Шаг 1) Первый шаг — изменить код нашего учебного класса. На этом шаге мы добавляем приведенный ниже код в файл Tutorial.cs.

Пояснение кода:-

1 и 2) Первый шаг такой же, как и в наших предыдущих примерах. Мы сохраняем определение метода SetTutorial как есть.

3) Этот метод устанавливает TutorialID и TutorialName на основе параметров pID и pName.

4) Здесь мы вносим изменения в наш класс, добавляя новый метод с тем же именем, что и SetTutorial. Только на этот раз мы передаем только один параметр — pName. В этом методе мы просто устанавливаем в поле TutorialName значение pName.

Шаг 2) Последний шаг — изменить наш основной файл Program.cs. В нашем консольном приложении мы создадим объект класса Guru99Tutorial.

10 

Пояснение кода:-

  1. На первом этапе мы используем метод SetTutorial с двумя параметрами. Где мы передаем этому методу и TutorialID, и TutorialName.
  2. На втором этапе мы вызываем метод SetTutorial только с одним параметром. Мы просто передаем TutorialName этому методу.

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

  1. Создайте отдельный метод с именем public int GetTutorialID
  2. В этом методе напишите строку кода «return TutorialID». Это можно использовать для возврата TutorialID вызывающей программе.

Вывод:

Из вывода ясно видно, что оба метода были вызваны успешно. Из-за этого в консоль отправлялись строки «Первый учебник» и «Второй учебник».

Обзор

  • Наследование — это когда дочерний класс наследует поля и методы родительского класса. Затем дочерний класс также может определять свои собственные методы.
  • Полиморфизм в C# — это концепция ООП, в которой одно имя может иметь множество форм.

Язык C

  1. Выражения, операторы и блоки C# (с примерами)
  2. Класс и объект С#
  3. Абстрактный класс и метод С#
  4. Частичный класс C# и частичный метод
  5. Запечатанный класс и метод С#
  6. Функции C++ с примерами программ
  7. Разница между структурой и классом:объяснение на примере C++
  8. Разница между while и do-while:объяснение с примерами
  9. type() и isinstance() в Python с примерами
  10. С# — Структура программы