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

Учебное пособие по абстрактному классу C # с примером:что такое абстракция?

Что такое абстрактный класс в C#?

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

Давайте изучим абстрактный класс в C# на примере, приведенном ниже. Ниже приведено определение класса под названием «Животное». Когда класс «Животное» определен, о животном ничего не известно, будь то собака или кошка. Метод под названием description — это просто общий метод, определенный для класса.

Теперь, когда известно, каким именно будет Animal, мы создаем еще один класс, который наследует базовый класс. Если мы знаем, что животное на самом деле является собакой, мы создаем класс Dog, который наследует основной базовый класс. Ключевое отличие состоит в том, что класс Dog не может изменить определение метода Description класса Animal. Он должен определить свой собственный абстрактный метод C# под названием Dog-Description. Это основная концепция абстрактных классов C#.

Создание абстрактного класса в C#

Давайте рассмотрим абстрактный класс в C# с примерами в реальном времени того, как мы можем изменить наш код, включив в него абстрактный класс C#. Обратите внимание, что мы не будем запускать код, потому что нет ничего, что можно было бы запустить с помощью класса абстракции C#.

Шаг 1) В качестве первого шага давайте создадим абстрактный класс. Класс будет называться Tutorial и будет иметь только один метод. Весь код необходимо записать в файл Program.cs.

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

  1. Сначала мы определяем абстрактный класс. Обратите внимание на использование ключевого слова abstract. Это используется для обозначения того, что класс является абстрактным классом.
  2. Далее мы определяем наш метод, который ничего не делает. Метод должен иметь ключевое слово virtual. Это означает, что метод не может быть изменен дочерним классом. Это основное требование для любого абстрактного класса.

Шаг 2) Теперь давайте добавим наш дочерний класс. Этот код добавляется в файл Program.cs.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 abstract class Tutorial
 {
  public virtual void Set() 
  {
      
  }
 }
  class Guru99Tutorial:Tutorial
  {
   protected int TutorialID; 
   protected string TutorialName;
   
   public void SetTutorial(int pID,string pName) 
   {
    TutorialID=pID;
    TutorialName=pName;
   }
   
   public String GetTutorial()
   {
    return TutorialName;
   }
  
  static void Main(string[] args) 
  {
   Guru99Tutorial pTutor=new Guru99Tutorial();
   
   pTutor.SetTutorial(1,".Net");
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

В этом коде нет ничего исключительного. Мы просто определяем класс Guru99Tutorial, который наследует абстрактный класс Tutorial. Затем мы определяем те же методы, что и раньше.

Примечание.
Здесь мы не можем изменить определение метода Set, которое было определено в классе Tutorial. В классе Tutorial мы определили метод под названием «Set» (public virtual void Set()). Поскольку этот метод был частью абстрактного класса C#, мы не можем снова определить метод Set в классе Guru99Tutorial.

Обзор

Абстрактный класс в C-sharp — это базовый класс, который имеет самые основные требования к тому, как должен выглядеть класс. Дочерний класс не может наследовать методы базового класса.


Язык C

  1. Абстрактный класс и метод С#
  2. Операторы в C++ с примером:что такое, типы и программы
  3. Структура С++ с примером
  4. std::list в C++ с примером
  5. Разница между структурой и классом:объяснение на примере C++
  6. Учебное пособие по абстрактному классу C # с примером:что такое абстракция?
  7. Интерфейс против абстрактного класса в Java:в чем разница?
  8. Java — абстракция
  9. Абстракция данных в C++
  10. Интерфейсы в C++ (абстрактные классы)