亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C# 抽象类教程与示例:什么是抽象?

什么是 C# 中的抽象类?

抽象类 永远不能被实例化并且由关键字abstract标记。抽象类中包含零个或多个抽象方法。抽象类充当基类,旨在被实现或覆盖其方法的子类继承。

让我们通过下面给出的示例来学习 C# 中的抽象类。下面是一个名为“Animal”的类的定义。定义“Animal”类时,对动物一无所知,无论是狗还是猫。称为description的方法只是为该类定义的泛型方法。

现在,当知道 Animal 到底是什么时,我们创建另一个继承基类的类。如果我们知道动物实际上是狗,我们创建继承主基类的 Dog 类。这里的关键区别在于 Dog 类不能更改 Animal 类的 Description 方法的定义。它必须定义自己的 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 类。然后,我们定义与之前使用的方法相同的方法。

注意:
这里我们不能改变Tutorial类中定义的Set方法的定义。在 Tutorial 类中,我们定义了一个名为“Set”(public virtual void Set())的方法。由于该方法是 C# 抽象类的一部分,因此我们不允许在 Guru99Tutorial 类中再次定义 Set 方法。

总结

C 语言中的抽象类是一个基类,它具有类应该是什么样子的最基本要求。子类不能继承基类的方法。


C语言

  1. C#抽象类和方法
  2. C++ 中的运算符示例:什么是、类型和程序
  3. C++ 结构与示例
  4. 带有示例的 C++ 类和对象
  5. C++ 中的 std::list 示例
  6. 结构和类的区别:用 C++ 示例解释
  7. C# 枚举(枚举)与示例
  8. C# 抽象类教程与示例:什么是抽象?
  9. Java中的接口与抽象类:有什么区别?
  10. Java - 抽象
  11. C++ 中的数据抽象
  12. C++ 中的接口(抽象类)