C# 继承和多态性及其程序示例

C# 中的继承是什么?
遗产 是 C# 的一个重要概念。继承是一个定义父类和子类的概念。子类继承父类的方法和属性,但同时,它们也可以根据需要修改方法的行为。如果需要,子类还可以定义自己的方法。
让我们通过程序示例更好地理解 C# 继承:
C# 继承示例
现在让我们看看如何在代码中加入继承的概念。
步骤1) 第一步是更改 Tutorial 类的代码。在此步骤中,我们将以下代码添加到 Tutorial.cs 文件中。
请注意,我们现在需要向 TutorialID 和 TutorialName 字段添加“protected”访问修饰符。
还记得我们之前提到过这个访问修饰符吗? 访问修饰符教程这里就可以看出设置这个访问修饰符的目的了。只有当设置了访问修饰符(protected)后,子类才能使用父类的字段。
步骤2) 第二步是添加我们的新子类。这个子类的名称将是“Guru99Tutorial”。在此步骤中,我们将以下代码添加到 Tutorial.cs 文件中。该代码应放置在 Tutorial 类定义之后。
Code 解释:-
- 第一步是创建 Guru99. Tutorial 子类。我们还需要说明,这个类是 Tutorial 类的子类。这是通过冒号 (:) 关键字实现的。
- 接下来,我们定义一个名为 RenameTutorial 的方法。它将用于重命名 TutorialName 字段。此方法接受一个包含 Tutorial 新名称的字符串变量。
- 然后我们将参数 pNewName 分配给 TutorialName 字段。 注意:尽管我们没有在“Guru在“99Tutorial”类中,我们仍然可以访问此字段。这是因为“Guru“99Tutorial”是Tutorial类的子类。由于我们将Tutorial类的字段设置为受保护的,因此该子类可以访问这些字段。
步骤3) 最后一步是修改我们的主程序 Program.cs 文件。在我们的控制台应用程序中,我们将创建一个对象。 Guru99Tutorial 类。我们将使用此对象调用 RenameTutorial 方法。然后,我们将借助 GetTutorial 方法显示 TutorialName 字段。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { public class Tutorial { protected int TutorialID; protected string TutorialName; public void SetTutorial(int pID,string pName) { TutorialID=pID; TutorialName=pName; } public String GetTutorial() { return TutorialName; } } public 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(); } } }
Code 解释:-
- 第一步是为……创建一个对象 Guru99Tutorial 类。这是通过 'new' 关键字完成的。请注意,这次我们并没有创建 Tutorial 类的对象。
- 我们使用 RenameTutorial 方法 Guru99Tutorial 类用于更改 TutorialName 字段。我们传递字符串“.Net by”。 Guru99”到 RenameTutorial 方法。
- 然后我们调用 GetTutorial 方法。请注意,即使此方法未在……中定义, Guru在 99Tutorial 类中,我们仍然可以访问这个方法。GetTutorial 方法的输出随后会通过 Console.WriteLine 方法显示在控制台上。
如果上述代码输入正确,并且程序成功执行,则会显示以下输出。
输出:
从输出结果中我们可以清楚地看到,TutorialName 字段被重命名为“.Net by”。 Guru99”。这是通过子类调用的 RenameTutorial 方法实现的。
C# 中的多态性是什么?
多态性 in C# 多态性是面向对象编程(OOP)中的一个概念,它指的是一个名称可以有多种形式。例如,你用智能手机进行通讯。你选择的通讯方式可以是任何一种,比如打电话、发短信、发彩信、发邮件等等。虽然目标是相同的,即通讯,但它们实现通讯的方式却不同。这就是多态性。
通过以下程序示例,您将更好地理解 C# 多态性:
C# 多态性示例
现在让我们看看如何在我们的代码中加入多态的概念。
步骤1) 第一步是更改 Tutorial 类的代码。在此步骤中,我们将以下代码添加到 Tutorial.cs 文件中。
Code 解释:-
1 & 2) 第一步与我们之前的例子相同。我们保持ping SetTutorial 方法的定义如下。
3)该方法根据参数pID和pName设置TutorialID和TutorialName。
4) 在这里,我们对类进行了更改,添加了一个新方法,其名称与 SetTutorial 相同。只是这次我们只传递一个参数,即 pName。在此方法中,我们只是将 TutorialName 字段设置为 pName。
步骤2) 最后一步是修改我们的主程序 Program.cs 文件。在我们的控制台应用程序中,我们将创建一个对象。 Guru99辅导课。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { public int TutorialID; public string TutorialName; public void SetTutorial(int pID,string pName) { TutorialID=pID; TutorialName=pName; } public void SetTutorial(string pName) { TutorialName=pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Tutorial pTutor=new Tutorial(); pTutor.SetTutorial(1,"First Tutorial"); Console.WriteLine(pTutor.GetTutorial()); pTutor.SetTutorial("Second Tutorial"); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
Code 解释:-
- 在第一步中,我们使用带有 2 个参数的 SetTutorial 方法。我们将 TutorialID 和 TutorialName 传递给此方法。
- 在第二步中,我们现在只使用一个参数调用 SetTutorial 方法。我们只是将 TutorialName 传递给此方法。
如果正确输入了上述代码并运行程序,将显示以下输出。如果您还想获取教程 ID 以及教程名称,则应按照以下步骤操作
- 创建一个名为 public int GetTutorialID 的单独方法
- 在该方法中写入代码行“return TutorialID”。这可用于将 TutorialID 返回给调用程序。
输出:
从输出中,我们可以清楚地看到两个方法都被成功调用。因此,字符串“First Tutorial”和“Second Tutorial”被发送到控制台。







