C#基础之访问修饰符
|
admin
2024年3月26日 18:57
本文热度 446
|
前言
访问修饰符是用于设置类型和类型成员的可访问性级别,设置控制类、属性、方法等成员在程序中的权限范围。C#提供了5个访问修饰符关键字,使用它们可指定 七个可访问性级别。本文介绍C#提供的访问修饰符。
访问修饰符
C#中的访问修饰符关键字有public、private、internal、protected、file,通过这些关键字在进行声明时指定类型或成员的可访问性,形成下面的七个可访问性级别:1、public:公有的,访问不受限制。
2、private:私有的,只有同一类或结构中的代码才可以访问。
3、internal:内部的,同一程序集中的任何代码都可以访问。
4、protected:受保护的,仅限于同一个类或从该类派生的类中的代码可以访问。
5、protected internal:访问限于当前程序集或派生自包含类的类型。
6、private protected:访问限于包含类或当前程序集中派生自包含类的类型。
7、file:已声明的类型仅在当前源文件中可见。
通过下表是每个访问修饰符在不同位置上的访问限制:
默认访问限制
C#语言中如果声明时未使用访问修饰符关键,则都有默认的访问修饰符来限制访问,下表不同类型的默认访问。
示例
下面我三段简单的代码,了解访问修饰符在编写代码上的体现。using System;
using System.Text;
namespace Fountain.Net.Base.ExampleLib
{
public class Modifier
{
/// <summary>
/// 声明内部的字符串变量
/// </summary>
internal string internalFruit=string.Empty;
/// <summary>
/// 声明公有的字符串变量
/// </summary>
public string publicFruit;
/// <summary>
/// 声明内部受保护的字符串变量
/// </summary>
internal protected string internalProtectedFruit=null;
}
}
//-- 在同一程序集中的另一个类中调用访问类的成员
using System;
using System.Text;
namespace Fountain.Net.Base.ExampleLib;
{
public class UsingClass
{
/// <summary>
/// 声明字符串变量,将类Modifier的internalFruit进行赋值
/// </summary>
private string tempInternal=new Modifier().internalFruit;
/// <summary>
/// 声明字符串变量,将类Modifier的publicFruit进行赋值
/// </summary>
private string tempPublic= new Modifier().publicFruit;
/// <summary>
/// 声明字符串变量,将类Modifier的internalProtectedFruit进行赋值
/// </summary>
private string tempProtected=new Modifier().internalProtectedFruit;
}
}
//-- 在不同程序集中,只能调用Modifier类的publicFruit,因为它是公有的
using System;
using System.Text;
using Fountain.Net.Base.ExampleLib;
namespace Fountain.Net.Base.Sample
{
class Program
{
static void Main(string[] args)
{
try
{
// 声明字符串变量,将类Modifier的publicFruit进行赋值
string tempPublic = new Modifier().publicFruit;
}
catch (Exception e)
{
Console.WriteLine("异常信息: {0}", e.Message);
}
// 等待接收控制台输入
Console.ReadLine();
}
}
}
小结
以上就是C#中的访问修饰符的内容,通过这些限制对数据及对象进行封装。
该文章在 2024/3/26 18:57:27 编辑过