C#中的修饰符

类修饰符

格式:
类修饰符 class 类名
类修饰符: public protected internal private abstract sealed static

访问级别修饰符

  1. internal是访问级别限制在程序集中,(默认情况就是internal)
    在两个项目A,B中,A应用了B,B中public修饰的类才能被A访问。
  2. public公开,其他项目中也可以访问
  3. partial 把类定义在多个文件中,例如把字段属性和构造函数放在一个文件中,而把方法放在另一个文件中,为类的每一部分加上partial关键字

继承限制修饰符

  1. sealed,这个类不能被继承
  2. abstract,抽象类,不能实例化,只能被继承
    注意,派生类的可访问性不能高于基类

类定义可使用的访问修饰符

在这里插入图片描述

接口修饰符

与类相同,接口也默认定义为项目内部接口,但不能使用sealed和abstract修饰接口,因为接口必须是能被继承的并且不可以实例化的。

  1. internal是访问级别限制在程序集中,(默认情况就是internal)
    在两个项目A,B中,A应用了B,B中public修饰的类才能被A访问。
  2. public公开,其他项目中也可以访问

类成员修饰符

访问级别

  1. private,成员的访问级别限制在类中,默认修饰符
  2. protected ,子类可以访问,跨程序集(前提是类必须是public的)
  3. public 公有的,都可以访问
  4. internal 成员可以被程序集(项目)中被访问

其他

  1. static 静态
  2. const 常量,const成员也是静态的
  3. abstract 定义在方法上,抽象方法,没有方法体
  4. virtual 方法可以重写,有方法体
  5. override 重写该方法
  6. override sealed 该方法不能再次被派生类重写
  7. readonly 修饰字段 这个字段只能在执行构造函数的过程中赋值,或者由初始化赋值语句赋值。
  8. partial 在一个部分类中声明部分方法(没有方法体),在另一个类中实现该方法,部分方法不能有返回值,并且不能有out。
    部分方法在编译的时候,如果运行库发现该方法没有被实现,就会完全删除该方法,还会删除所有对该方法的调用,会略微提高性能。

接口的成员

  1. 接口中的成员不允许使用访问修饰符,因为接口成员都是隐式public的。
  2. 接口成员中不能包含代码题
  3. 接口不能定义字段成员,
  4. 属性中可以定义访问块{get;set;}
  5. 也不能使用关键字static,virtual,abstract,和sealed来定义接口成员。
  6. 接口中也不能包含类型定义
  7. 可以用new 关键字来隐藏从基接口中继承的成员

猜你喜欢

转载自blog.csdn.net/weixin_41707267/article/details/85113574