28
2020
02

C#中四种访问修饰符是哪些?各有什么区别?

1.属性修饰符 2.存取修饰符 3.类修饰符 4.成员修饰符。


属性修饰符:


Serializable:按值将对象封送到远程服务器。


STATread:是单线程套间的意思,是一种线程模型。


MATAThread:是多线程套间的意思,也是一种线程模型。


存取修饰符:


public:存取不受限制。


private:只有包含该成员的类可以存取。


internal:只有当前工程可以存取。


protected:只有包含该成员的类以及派生类可以存取。


类修饰符:


abstract:抽象类。指示一个类只能作为其它类的基类。


sealed:密封类。指示一个类不能被继承。理所当然,密封类不能同时又是抽象类,因为抽象总是希望被继承的。


成员修饰符:


abstract:指示该方法或属性没有实现。


sealed:密封方法。可以防止在派生类中对该方法的override(重载)。不是类的每个成员方法都可以作为密封方法密封方法,必须对基类的虚方法进行重载,提供具体的实现方法。所以,在方法的声明中,sealed修饰符总是和override修饰符同时使用。


delegate:委托。用来定义一个函数指针。C#中的事件驱动是基于delegate + event的。


const:指定该成员的值只读不允许修改。


event:声明一个事件。


extern:指示方法在外部实现。


override:重写。对由基类继承成员的新实现。


readonly:指示一个域只能在声明时以及相同类的内部被赋值。


static:指示一个成员属于类型本身,而不是属于特定的对象。即在定义后可不经实例化,就可使用。


virtual:指示一个方法或存取器的实现可以在继承类中被覆盖。


new:在派生类中隐藏指定的基类成员,从而实现重写的功能。 若要隐藏继承类的成员,请使用相同名称在派生类中声明该成员,并用 new 修饰符修饰它。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。