C# 中的访问修饰符(说明符)及程序示例
C# 中的访问修饰符(说明符)是什么?
访问修饰符或访问说明符在 C# 中是用于定义类属性或方法的可见性的关键字。当您不希望其他程序看到类的属性或方法时,就会使用它。访问修饰符会限制访问,因此其他程序无法看到类的属性或方法。
C# 中有 6 种类型的访问修饰符
- 私有链
- 公共链
- Protected
- 内置
- Protected Internal (受保护的内部)
- Private Protected (私有的受保护)
我们将通过下面的程序示例学习 C# 中的主要访问修饰符。
C# 中的私有访问修饰符
当私有访问修饰符附加到属性或方法时,意味着这些成员无法从任何外部程序访问。
私有访问修饰符示例
让我们举个例子,看看使用私有访问修饰符会发生什么。
让我们修改我们在 Tutorial.cs 文件中的当前代码。在 SetTutorial 方法中,让我们将 public 关键字更改为 private。
现在让我们切换到我们的 Program.cs 文件。您会注意到 SetTutorial 方法下有一个红色的波浪线。
由于我们现在已将 SetTutorial 方法声明为 Tutorial 类中的私有方法,Visual Studio 已检测到此。它通过突出显示告知用户,现在该方法将无法在 Program.cs 文件中运行。
C# 公共访问修饰符
当公共访问修饰符附加到属性或方法时,意味着这些成员可以从任何外部程序访问。我们已经在前面的示例中看到过这一点。
公共访问修饰符示例
由于我们在 Tutorial 类中将方法定义为 public,因此可以从 Program.cs 文件访问它们。
C# 中的受保护访问修饰符
当受保护访问修饰符附加到属性或方法时,意味着这些成员只能由从当前类继承的类访问。这将在继承类中更详细地解释。
C# 内部访问修饰符
当内部访问修饰符附加到属性或方法时,这些成员只能由内部程序访问,而不能由外部程序访问。
C# 构造函数
C# 构造函数用于在创建类对象时初始化类字段的值。构造函数是与类名同名的一个方法。如果类中定义了构造函数,那么它将提供创建对象时调用的第一个方法。假设我们有一个名为 Employee 的类。构造函数方法也将命名为 Employee()。
关于构造函数方法需要注意的以下关键点
- C# 构造函数的默认访问修饰符必须是 public。
- 构造函数方法不应有返回类型。
C# 构造函数示例
现在让我们看看如何将构造函数的使用纳入我们的代码中。我们将使用构造函数来初始化 TutorialID 和 TutorialName 字段,以便在创建对象时赋予它们一些默认值。
步骤 1) 第一步是为我们的 Tutorial 类创建构造函数。在此步骤中,我们将以下代码添加到 Tutorial.cs 文件中。
代码解释:
- 我们首先添加一个与类名同名的新方法。因为它的名称与类相同,所以 C# 会将其视为构造函数方法。因此,每当调用方法创建此类对象时,此方法都会被默认调用。
- 在 Tutorial 构造函数中,我们将 TutorialID 设置为 0,将 TutorialName 设置为“Default”。因此,每当创建对象时,这些字段将始终具有这些默认值。
现在让我们切换到我们的 Program.cs 文件,只需删除调用 SetTutorial 方法的那一行。这是因为我们只想看看构造函数是如何工作的。
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(); } } }
代码解释:
- 第一步是为 Tutorial 类创建一个对象。这是通过“new”关键字完成的。
- 我们使用 Tutorial 类的 GetTutorial 方法来获取 TutorialName。然后通过 Console.WriteLine 方法将其显示到控制台。
如果正确输入上述代码并执行程序,将显示以下输出。
输出
从输出中,我们可以看到构造函数确实被调用了,并且 TutorialName 的值被设置为“Default”。
注意:此处“default”的值是从构造函数中获取的。
摘要
- C# 访问修饰符或访问说明符用于定义类属性或方法的可见性。
- 当私有访问修饰符附加到属性或方法时,意味着这些成员无法从任何外部程序访问。
- 当公共访问修饰符附加到属性或方法时,意味着这些成员可以从任何外部程序访问。
- 当受保护访问修饰符附加到属性或方法时,意味着这些成员只能由从当前类继承的类访问。
- 当内部访问修饰符附加到属性或方法时,这些成员只能由内部程序访问,而不能由外部程序访问。
- C# 构造函数用于在创建类对象时初始化类字段的值。