Files
My-Notes/笔记/CSharp/核心/成员变量和访问修饰符.md
2026-06-21 09:51:55 +08:00

70 lines
1.4 KiB
Markdown

# 成员变量和访问修饰符
概念:
1. 成员变量也常叫==字段(field)==
2. 它声明在类或结构体中,用来描述对象状态
3. 字段类型可以是任意合法类型
4. 字段如果没手动赋值,会先使用该类型的默认值
通常用法:
- 保存对象的基础数据
- 配合访问修饰符控制谁能访问
- 再配合[[成员属性]]对外暴露更安全的访问方式
语法:
```csharp
class Human
{
public string name;
private int age;
protected bool isAlive;
internal Human[] friends;
}
```
访问修饰符:
1. `public`
类内部和外部都能访问
2. `private`
只有当前类型内部能访问
3. `protected`
当前类型和子类能访问
4. `internal`
同一个程序集内能访问
案例:
```csharp
class Human
{
public string name;
private int age;
public void SetAge(int value)
{
age = value;
}
public void PrintInfo()
{
Console.WriteLine($"{name} - {age}");
}
}
Human h1 = new Human();
h1.name = "小明";
// h1.age = 18; // 报错,外部不能直接访问 private 字段
h1.SetAge(18);
h1.PrintInfo();
```
注意:
1. ==类中的字段如果不写访问修饰符,默认是 `private`==
2. 字段可以声明成当前类型本身,比如 `Human[] friends`
3. 默认值示例:
- `int``0`
- `bool``false`
- 引用类型是 `null`
4. 实际开发中,很多字段会写成 `private`,再通过[[成员属性]]控制访问
#封装
#核心