-
访问修饰符:public、protected、private、internal
用于指定声明的成员或类型的可访问性。
public:不受限
protected:仅限于包含类或包含类派生的子类
internal:当前程序集
protected internal:internal 或 protected ,两者求并集
private:当前包含类型 -
abstract
指示被修改内容的实现已丢失或不完整。
可用于修饰类、方法、属性、索引和事件。- 抽象类
抽象类不能实例化
包含0个或1个以上抽象方法和访问器(属性) ,抽象类中不一定有抽象方法或抽象访问权(属性)
不能用sealed修饰,sealed和abstract具有相反的含义。sealed类不能被继承,abstract类要求被继承 - 抽象方法和抽象属性
指示方法或属性不包含实现
抽象方法是隐式的虚方法
只有抽象类中才有抽象方法声明
通过override在派生类中重写替代抽象方法或属性
抽象类必须为所有实现的接口提供实现,可将接口映射到抽象方法上,例如:interface I { void M(); } abstract class C : I { public abstract void M(); }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 抽象类
-
sealed
断子绝孙符
修饰类时,类不可以被继承
修饰方法/属性时,子类不能替代此方法或属性 -
virtual
用于修改方法、属性、索引器或事件声明,并使它们可以在派生类中被重写
虚成员的实现可由派生类中的替代成员更改
虚方法就是有默认实现的抽象方法
在修饰方法时override和new的区别:
override只能重写virtual、abstract、override修饰的方法
new是隐藏,可通过类型转换调用到基类的方法。
override是重写,无论是派生类还是基类都会找到派生类方法。
new可以隐藏基类中的普通方法,也可以隐藏基类中的虚方法。
new可以修改方法可访问性,而override不可以。
C#关键字--修饰符
最新推荐文章于 2024-09-06 23:42:37 发布