C# 中的访问修饰符(说明符)及程序示例

C# 中的访问修饰符(说明符)是什么?

访问修饰符或访问说明符在 C# 中是用于定义类属性或方法的可见性的关键字。当您不希望其他程序看到类的属性或方法时,就会使用它。访问修饰符会限制访问,因此其他程序无法看到类的属性或方法。

C# 中有 6 种类型的访问修饰符

  • 私有链
  • 公共链
  • Protected
  • 内置
  • Protected Internal (受保护的内部)
  • Private Protected (私有的受保护)

我们将通过下面的程序示例学习 C# 中的主要访问修饰符。

C# 中的私有访问修饰符

当私有访问修饰符附加到属性或方法时,意味着这些成员无法从任何外部程序访问。

私有访问修饰符示例

让我们举个例子,看看使用私有访问修饰符会发生什么。

让我们修改我们在 Tutorial.cs 文件中的当前代码。在 SetTutorial 方法中,让我们将 public 关键字更改为 private。

Private Access Modifiers

现在让我们切换到我们的 Program.cs 文件。您会注意到 SetTutorial 方法下有一个红色的波浪线。

由于我们现在已将 SetTutorial 方法声明为 Tutorial 类中的私有方法,Visual Studio 已检测到此。它通过突出显示告知用户,现在该方法将无法在 Program.cs 文件中运行。

Private Access Modifier

C# 公共访问修饰符

当公共访问修饰符附加到属性或方法时,意味着这些成员可以从任何外部程序访问。我们已经在前面的示例中看到过这一点。

公共访问修饰符示例

C# Public Access Modifiers

由于我们在 Tutorial 类中将方法定义为 public,因此可以从 Program.cs 文件访问它们。

C# 中的受保护访问修饰符

当受保护访问修饰符附加到属性或方法时,意味着这些成员只能由从当前继承的访问。这将在继承类中更详细地解释。

C# 内部访问修饰符

当内部访问修饰符附加到属性或方法时,这些成员只能由内部程序访问,而不能由外部程序访问。

C# 构造函数

C# 构造函数用于在创建类对象时初始化类字段的值。构造函数是与类名同名的一个方法。如果类中定义了构造函数,那么它将提供创建对象时调用的第一个方法。假设我们有一个名为 Employee 的类。构造函数方法也将命名为 Employee()。

关于构造函数方法需要注意的以下关键点

  1. C# 构造函数的默认访问修饰符必须是 public。
  2. 构造函数方法不应有返回类型。

C# 构造函数示例

现在让我们看看如何将构造函数的使用纳入我们的代码中。我们将使用构造函数来初始化 TutorialID 和 TutorialName 字段,以便在创建对象时赋予它们一些默认值。

步骤 1) 第一步是为我们的 Tutorial 类创建构造函数。在此步骤中,我们将以下代码添加到 Tutorial.cs 文件中。

C# Constructor

代码解释:

  1. 我们首先添加一个与类名同名的新方法。因为它的名称与类相同,所以 C# 会将其视为构造函数方法。因此,每当调用方法创建此类对象时,此方法都会被默认调用。
  2. 在 Tutorial 构造函数中,我们将 TutorialID 设置为 0,将 TutorialName 设置为“Default”。因此,每当创建对象时,这些字段将始终具有这些默认值。

现在让我们切换到我们的 Program.cs 文件,只需删除调用 SetTutorial 方法的那一行。这是因为我们只想看看构造函数是如何工作的。

C# Constructor

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 Tutorial()
  {
   TutorialID=0;
   TutorialName="Default";
  }
  public void SetTutorial(int pID,string pName) 
  {
   TutorialID=pID;
   TutorialName=pName;
  }
  public String GetTutorial()
  {
   return TutorialName;
  }
  
  static void Main(string[] args) 
  {
   Tutorial pTutor=new Tutorial();
    
   Console.WriteLine(pTutor.GetTutorial());
    
   Console.ReadKey(); 
  }
 }
}

代码解释:

  1. 第一步是为 Tutorial 类创建一个对象。这是通过“new”关键字完成的。
  2. 我们使用 Tutorial 类的 GetTutorial 方法来获取 TutorialName。然后通过 Console.WriteLine 方法将其显示到控制台。

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

输出

C# Constructor

从输出中,我们可以看到构造函数确实被调用了,并且 TutorialName 的值被设置为“Default”。

注意:此处“default”的值是从构造函数中获取的。

摘要

  • C# 访问修饰符或访问说明符用于定义类属性或方法的可见性。
  • 当私有访问修饰符附加到属性或方法时,意味着这些成员无法从任何外部程序访问。
  • 当公共访问修饰符附加到属性或方法时,意味着这些成员可以从任何外部程序访问。
  • 当受保护访问修饰符附加到属性或方法时,意味着这些成员只能由从当前类继承的类访问。
  • 当内部访问修饰符附加到属性或方法时,这些成员只能由内部程序访问,而不能由外部程序访问。
  • C# 构造函数用于在创建类对象时初始化类字段的值。