类修饰符
格式:
类修饰符 class 类名
类修饰符: public protected internal private abstract sealed static
访问级别修饰符
- internal是访问级别限制在程序集中,(默认情况就是internal)
在两个项目A,B中,A应用了B,B中public修饰的类才能被A访问。 - public公开,其他项目中也可以访问
- partial 把类定义在多个文件中,例如把字段属性和构造函数放在一个文件中,而把方法放在另一个文件中,为类的每一部分加上partial关键字
继承限制修饰符
- sealed,这个类不能被继承
- abstract,抽象类,不能实例化,只能被继承
注意,派生类的可访问性不能高于基类
类定义可使用的访问修饰符
接口修饰符
与类相同,接口也默认定义为项目内部接口,但不能使用sealed和abstract修饰接口,因为接口必须是能被继承的并且不可以实例化的。
- internal是访问级别限制在程序集中,(默认情况就是internal)
在两个项目A,B中,A应用了B,B中public修饰的类才能被A访问。 - public公开,其他项目中也可以访问
类成员修饰符
访问级别
- private,成员的访问级别限制在类中,默认修饰符
- protected ,子类可以访问,跨程序集(前提是类必须是public的)
- public 公有的,都可以访问
- internal 成员可以被程序集(项目)中被访问
其他
- static 静态
- const 常量,const成员也是静态的
- abstract 定义在方法上,抽象方法,没有方法体
- virtual 方法可以重写,有方法体
- override 重写该方法
- override sealed 该方法不能再次被派生类重写
- readonly 修饰字段 这个字段只能在执行构造函数的过程中赋值,或者由初始化赋值语句赋值。
- partial 在一个部分类中声明部分方法(没有方法体),在另一个类中实现该方法,部分方法不能有返回值,并且不能有out。
部分方法在编译的时候,如果运行库发现该方法没有被实现,就会完全删除该方法,还会删除所有对该方法的调用,会略微提高性能。
接口的成员
- 接口中的成员不允许使用访问修饰符,因为接口成员都是隐式public的。
- 接口成员中不能包含代码题
- 接口不能定义字段成员,
- 属性中可以定义访问块{get;set;}
- 也不能使用关键字static,virtual,abstract,和sealed来定义接口成员。
- 接口中也不能包含类型定义
- 可以用new 关键字来隐藏从基接口中继承的成员