在 C# 中,public、private、protected 这三种访问修饰符各自的作用是什么?它们分别控制类成员怎样的可访问性?
考察说明
考查对 C# 访问修饰符基本含义和访问级别差异的掌握程度。
回答思路
- 【回答框架 1】public 修饰符表示成员对所有代码都可见,访问不受任何限制,任何能访问该类的外部代码都可以直接访问该成员。
- 【回答框架 2】private 修饰符表示成员只能在所属类的内部访问,外部代码无法直接访问,常用于隐藏类的内部实现细节,体现封装性。
- 【回答框架 3】protected 修饰符表示成员在所属类内部以及派生类中可访问,外部代码无法直接访问,适用于希望子类能复用但对外隐藏的成员。
- 【关键点 1】public 的访问级别最高,所有代码均可访问。
- 【关键点 2】private 的访问级别最低,只能在本类内部访问。
- 【关键点 3】protected 介于两者之间,允许本类和派生类访问,外部代码不可见。
- 【易错点 1】注意区分 protected 与 internal 以及 protected internal 等组合修饰符,不同组合会扩大或限制访问范围。
- 【易错点 2】不要混淆 protected 与 private protected,后者仅允许同一程序集内的派生类访问。