CS3L12——内部类和分部类

本章代码关键字

1
partial        //partial可以分部描述一个类,增加程序的拓展性,也可以分部方法,可以将方法的声明和实现分离

内部类

在一个类中再申明一个类,特点:使用时要用包裹者点出自己,作用:亲密关系的变现

注意:访问修饰符作用很大,使用内部类时,需要 public​ 才能使外部能使用它

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Person
{
public int age;
public string name;
public Body body;

public class Body
{
Arm leftArm;
Arm rightArm;
//注意 使用内部类时,需要public才能使外部能使用它
public class Arm
{

}
}
}

internal class Program
{
static void Main(string[] args)
{
Person.Body body = new Person.Body(); //使用时要用包裹者点出自己
Person.Body.Arm Arm = new Person.Body.Arm(); //使用时要用包裹者点出自己
}
}

分部类

把一个类分成几部分申明,关键字:partial​,作用:分部描述一个类,增加程序的拓展性

注意:分部类可以写在多个脚本文件中,分部类的访问修饰符要一致,分部类中不能重复成员

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public partial class Student
{
public bool sex;
public string name;
}

public partial class Student
{
public int age;
public int number;

public void Speak()
{

}
}

分部方法

分部方法,可以将方法的声明和实现分离

分部方法不能加访问修饰符,默认私有,只能在分部类中申明, 返回值只能是 void​,可以有参数但不能使用 out​ 关键字

分部方法的局限性较大

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public partial class Student
{
public bool sex;
public string name;
//分部方法可以将方法的申明和具体逻辑分离开来
partial void Fun(string name);
}

public partial class Student
{
public int age;
public int number;

//分部方法可以将方法的申明和实现的具体逻辑分离开来
partial void Fun(string name)
{

}
}