C# 访问修饰符
访问修饰符
现在,您应该对我们许多示例中出现的 public
关键字非常熟悉了。
public string color;
public
关键字是访问修饰符,用于设置类、字段、方法和属性的访问级别/可见性。
C# 具有以下访问修饰符:
修饰符 | 描述 |
---|---|
公共 |
代码可供所有类访问 |
private |
代码仅在同一类中可访问 |
protected |
代码在同一类或继承自该类的类中可访问。您将在后面的章节中了解更多关于继承的内容。 |
internal |
代码仅在其自身程序集中可访问,但不能从其他程序集中访问。您将在后面的章节中了解更多关于此的内容。 |
还有两个组合:protected internal
和 private protected
。
目前,让我们专注于 public
和 private
修饰符。
Private 修饰符
如果使用 private
访问修饰符声明字段,则只能在同一类中访问它。
示例
class Car
{private string model = "Mustang"; static void Main(string[] args)
{Car myObj = new Car(); Console.WriteLine(myObj.model);
}}
输出将是:
Mustang
如果尝试在类外部访问它,将会发生错误。
示例
class Car
{
private string model = "Mustang";
}
class Program
{
static void Main(string[] args)
{
Car myObj = new Car();
Console.WriteLine(myObj.model);
}
}
输出将是:
'Car.model' 由于其保护级别而无法访问
字段 'Car.model' 已赋值,但其值从未被使用。
Public 修饰符
如果使用 public
访问修饰符声明字段,则所有类都可以访问它。
示例
class Car
{
public string model = "Mustang";
}
class Program
{
static void Main(string[] args)
{
Car myObj = new Car();
Console.WriteLine(myObj.model);
}
}
输出将是:
Mustang
为什么要使用访问修饰符?
控制类成员的可见性(每个类和类成员的安全级别)。
实现“封装”——这是一个确保“敏感”数据对用户隐藏的过程。这通过将字段声明为 private
来实现。您将在下一章中了解更多关于此的内容。
注意: 默认情况下,类的所有成员如果未指定访问修饰符,则都是 private
的。
示例
class Car
{
string model; // private
string year; // private
}