定义类
在C#中使用class关键字,一个名称,一对大括号来定义一个新类,类的数据成员和方法位于类的主体内(一对大括号之间)
类的语法格式
class MyClass
{
//类的主体
}
类修饰符
在定义类的时候可以在类的前面加上访问修饰符,类的修饰符用于控制被访问的范围,默认情况下,类的修饰符为internal
我们可以看到我们在类前面加了private,protected ,protected internal 都编译出错,所以证明类的修饰符只有这两个,一个是internal ,另外一个则是public
1:internal 内部的
默认什么都不写时是internal
访问仅限于一个程序集中
2:public 公开的
对访问成员没有级别限制,类可以在任何地方被访问
当我们在ClassLibrary1工程里的CallMeClass.cs里是可以实例化MeClass的,这是因为它们在一个在ClassLibrary1.dll文件中,也就是都在一个程序集中,所以可以实例化。
当我们在ConsoleApplication1工程中Program.cs中实例化MeClass时,编译失败,这是因为被访问类和访问类它们不在一个程序集中,被访问类MeClass在ClassLibrary1.dll程序集中,而访问类Program.cs在ConsoleApplication1.exe中。而当我们在被访问类中类名称的前面加入public修饰符,就可以编译通过了,就突破限制了。
类成员修饰符
1:private 私有的
只能在类的内部访问
2:internal 内部的
访问仅限于程序集中
3:protected 受保护的
只能在所在类和所在类的派生类中访问,不管该派生类和基类是否在同一程序集中
4:protected internal 受保护的内部
如果是继承关系,无论是不是在同一个程序集里都可以访问,如果不是继承关系,只能在同一个程序集中访问
5:public 公开的
对访问成员没有级别限制,类可以在任何地方被访问
访问权限示意图
创建类的对象
在C#中创建类的实例化对象,需要使用到new关键字
我们定义的类属于自定义类型,也是引用类型,因此可以new关键字实例化我们的这个类