首页  >  文章  >  后端开发  >  什么是C#中的继承?C#继承是什么意思

什么是C#中的继承?C#继承是什么意思

云罗郡主
云罗郡主原创
2019-01-15 14:47:5011077浏览


继承是C#中的一个重要概念,继承是一种定义父类和子类的概念,子类继承父类的方法和属性,但同时,如果需要,子类还可以定义自己的方法。【推荐教程:C++教程

现在让我们看看如何在代码中加入继承的概念。

步骤1)第一步是更改Tutorial类的代码,在此步骤中,我们将以下代码添加到Tutorial.cs文件中。

052616_1050_CClassandOb16.png

我们现在需要将“protected”的访问修饰符添加到TutorialID和TutorialName字段,只有拥有此访问修饰符时,子类才能使用父类的字段。

步骤2)第二步是添加我们的新子类,这个类的名称将是“Guru99Tutorial”。在此步骤中,我们将以下代码添加到Tutorial.cs文件中。代码应放在Tutorial类定义之后。

052616_1050_CClassandOb17.png代码说明:

第一步是创建Guru99Tutorial子类,我们还需要提一下,这个类将成为Tutorial类的子类。

接下来,我们定义一个名为RenameTutorial,它将用于重命名TutorialName字段,此方法接受包含教程新名称的字符串变量。

然后,我们将参数pNewName分配给TutorialName字段。

注意: -即使我们没有在“Guru99Tutorial”类中定义TutorialName字段,我们仍然可以访问此字段。这是因为“Guru99Tutorial”是Tutorial类的子类。因为我们将Tutorial类的字段设置为受保护,所以可以通过此类访问它们。

步骤3)最后一步是修改我们的Program.cs文件,在我们的控制台应用程序中,我们将创建一个Guru99Tutorial类的对象。有了这个对象,我们将调用RenameTutorial。然后,我们将在GetTutorial的帮助下显示TutorialName字段。

{
 class Tutorial
 {
  protected int TutorialID; 
  protected string TutorialName;
  
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  
  public String GetTutorial()
  {
   return TutorialName;
  }
 }
  class Guru99Tutorial:Tutorial
  {
   public void RenameTutorial(String pNewName)
   {
    TutorialName=pNewName;
   }
  
  static void Main(string[] args) 
  {
   Guru99Tutorial pTutor=new Guru99Tutorial();
   
   pTutor.RenameTutorial(".Net by Guru99");
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

第一步是为Guru99Tutorial类创建一个对象。这是通过'new'关键字完成的。请注意,这次我们没有创建Tutorial类的对象。

我们使用Guru99Tutorial类的RenameTutorial方法来更改TutorialName字段。我们将字符串“.Net by Guru99”传递给RenameTutorial。

然后我们调用GetTutorial。请注意,即使Guru99Tutorial类中未定义此方法,我们仍然可以访问。然后,GetTutorial的输出将通过Console.WriteLine显示到控制台。

如果正确输入上述代码并且程序执行成功,将显示以下输出。

输出:

052616_1050_CClassandOb19.jpg

从输出中,我们可以清楚地看到TutorialName字段被重命名为“.Net by Guru99”。这是由子类调用的RenameTutorial方法实现的。



以上是什么是C#中的继承?C#继承是什么意思的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn