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

C# 访问修饰符(说明符)详解:从 private 到 protected internal 实战

什么是 C# 访问修饰符?

访问修饰符——控制类型和类型成员可见性的关键字——是 C# 封装的基石。它们决定哪些代码可以引用类、属性或方法,确保只有程序预期部分能与内部实现细节交互。

C# 提供六种访问修饰符:

本教程你将学习:

Private 访问修饰符

将成员标记为 private 将其用法限制在包含类内部。外部代码——包括同一程序集内的其他类——无法引用私有成员。

Private 访问修饰符示例

修改 Tutorial.cs 中的 SetTutorial 说明此规则。将 public 改为 private:

C# 访问修饰符(说明符)详解:从 private 到 protected internal 实战

切换到 Program.cs。编译器会用红色波浪线标记 SetTutorial 调用,表明该方法从此处不可访问。

C# 访问修饰符(说明符)详解:从 private 到 protected internal 实战

Public 访问修饰符

公共成员对任何能引用包含类型的代码可见。这是未指定访问修饰符成员的默认值。

Public 访问修饰符示例

C# 访问修饰符(说明符)详解:从 private 到 protected internal 实战

因为 SetTutorial 声明为 public,可从 Program.cs 调用且无编译错误。

Protected 访问修饰符

protected 成员仅在其自身类及派生类中可访问。此访问级别适合创建可复用基类同时保护内部实现。

Internal 访问修饰符

内部成员对同一程序集内所有代码可见,但对其他程序集代码不可见。这适用于仅向库消费者暴露的库组件。

C# 构造函数

构造函数初始化类的新实例。它们与类同名、无返回类型,在使用 new 时自动调用。

  1. 构造函数默认访问为 public,除非另有指定。
  2. 构造函数不能声明返回类型。

C# 构造函数示例

演示一个在创建 Tutorial 对象时为 TutorialID 和 TutorialName 设置默认值的构造函数。

步骤 1) 向 Tutorial.cs 添加构造函数:

C# 访问修饰符(说明符)详解:从 private 到 protected internal 实战

代码解析

  1. 名为 Tutorial 的方法被视为构造函数。实例化时自动运行。
  2. 构造函数将 0 赋给 TutorialID,将 "Default" 赋给 TutorialName,确保一致的初始状态。

在 Program.cs 中移除 SetTutorial 调用以聚焦构造函数行为:

C# 访问修饰符(说明符)详解:从 private 到 protected internal 实战

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. 使用 new 关键字创建 Tutorial 实例。
  2. GetTutorial 方法获取默认 TutorialName,通过 Console.WriteLine 显示。

执行时控制台显示:

输出:

C# 访问修饰符(说明符)详解:从 private 到 protected internal 实战

输出确认构造函数运行并将 TutorialName 初始化为 "Default"。

注意: "Default" 值源自构造函数,而非外部代码。

总结


C语言

  1. 理解 C# 访问修饰符:public、private、protected、internal 等完全指南
  2. C++ do-while 循环详解:语法、实战示例与嵌套循环
  3. C++ 指针精通:核心概念、代码示例与实战应用
  4. C++ 运算符重载实战指南:语法、方法、限制与代码示例
  5. C++ 函数详解:从声明到调用的实战指南
  6. C# 集合实战教程:ArrayList、Stack、Queue、Hashtable 等核心类型全解析
  7. Python str.count() 完全指南:统计字符与子串出现次数实战
  8. Python round() 函数详解与实战示例
  9. 精通 Python map() 函数:语法、示例与最佳实践
  10. Python timeit():精准测量代码执行时间与实战示例
  11. Python list.count() 专家指南:语法、示例与性能解析
  12. Java 修饰符详解:类型、用法与最佳实践