home commit with new plugins

This commit is contained in:
2026-06-21 09:51:55 +08:00
parent ebb9e385c5
commit 3d067fe75c
85 changed files with 10794 additions and 1443 deletions
@@ -1,55 +1,69 @@
# 成员变量和访问修饰符
概念:
1. 声明在类中
2. 用来描述对象特征
3. 任意变量类型
4. 是否赋值根据需求决定
1. 成员变量也常叫==字段(field)==
2. 它声明在类或结构体中,用来描述对象状态
3. 字段类型可以是任意合法类型
4. 字段如果没手动赋值,会先使用该类型的默认值
通常用法:
- 保存对象的基础数据
- 配合访问修饰符控制谁能访问
- 再配合[[成员属性]]对外暴露更安全的访问方式
语法:
1. 声明:
```Csharp
enum E_SexType
{
male,
female
}
class Human
{
string name;
int age;
E_Sex sex;
Human[] friend; //==可以类里声明自己类的同类型 但是不能实例化!==
}
```csharp
class Human
{
public string name;
private int age;
protected bool isAlive;
internal Human[] friends;
}
```
2. 访问修饰符
public——公共的 类内部和外部都可以进行访问
private——私有的 只有内部才能访问 ==子类不行==
protected——保护的 只有自己内部和子类才可以访问
3. 成员默认值
可以看[[值类型和引用类型]]
懒得看可以cw(default(变量类型))
访问修饰符:
1. `public`
类内部和外部都能访问
2. `private`
只有当前类型内部能访问
3. `protected`
当前类型和子类能访问
4. `internal`
同一个程序集内能访问
案例:
```Csharp
class Human
{
string name;
int age;
E_Sex sex;
Human[] friend; //==可以类里声明自己类的同类型 但是不能实例化!==
}
Human h1 = new Human();
h1.age = 18;
cw(h1.age);
```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`,再通过[[成员属性]]控制访问
#封装
#核心