zoukankan      html  css  js  c++  java
  • C#访问修饰符(public,private,protected,internal,sealed,abstract)

    为了控件C#中的对象的访问权限,定义对象时可以在前面添加修饰符.

    修饰符有五种:private(私有的),protected(受保护的),internal(程序集内部的),public(公开的),以及protectde internal(只有本程序内或者继承于该类的类型可以访问).

    可以使用修饰符的对象:namespace(命名空间),class(类),struct(结构),enum(枚举),interface(接口),delegate(委托),function(函数),变量

    1.public:

    访问不受限制.是权限最多的一个修饰符.namespace和enum成员,interface的成员隐式的具有public修饰符.不能再显式添加其修饰符.

    2.private:

    只有同一个class或struct中能被访问.class或truct中的成员如果不加修饰符则默认是private

    3.protected:

    访问仅限于当前class或继承的class.比如在一个class Student中声明一个函数protected int Add(){    };在则只能在Student中用Add,或者在继承于Student的子类中用base.Add()来用num.但实例化class得到的对象不能用Add.比如Student s = new Student();  s.Add();这样是错误的.(注意:声明class,struct前是不能加protected修饰的.只能用public 或internal)

    4.internal:

    仅限于当前程序集.即同一个project中.

    class或struct,interface如果不加修饰符则默认是internal.但也可以显示声明为internal或public(注:如果class,struct是在一个class中声明的也可以protected,private修饰.也就是说一个class中还可以嵌套的声明一个class)

    5.protected internal:

    同一程序集或继承的子类可访问.其实相当于是protected 和internal两个权限累加到一起了.(注意,由于struct是不能继承的,所以它的成员也不能由protected或protected internal修饰.

    注意:派生的class可访问性不能比基类更高.也就是说如果基类被internal修饰则子类只能用internal修饰.如果基类都public修饰子类可用internal也可用public.

    除了权限修饰符外还有四个修饰符sealed,abstract,virtual,partial(这四个修饰符可以和上面五个权限修饰符一起用.写在权限修饰符前面或后面都行)

    sealed只能用来修饰class,表示class不能被继承.

    abstract可用来修饰class和class中的成员.但必须是class被abstract修饰了,成员才能被abstract修饰.它表示此class是抽象类,不能实例化,必须被继承并重写抽象函数

    virtual只能用来修饰class中的函数,表明是虚函数,虚函数除了可以被重写外其他时候跟一般函数一样.虚函数重不重写是可选的,不是必须的

    partial

    通过使用关键字partial可以把一个class分开来写,可以在一个project中的不同文件中.在一个class特别大,由几个人合作写时这功能特别有用.

  • 相关阅读:
    2021,6,10 xjzx 模拟考试
    平衡树(二)——Treap
    AtCoder Beginner Contest 204 A-E简要题解
    POJ 2311 Cutting Game 题解
    Codeforces 990G GCD Counting 题解
    NOI2021 SDPTT D2T1 我已经完全理解了 DFS 序线段树 题解
    第三届山东省青少年创意编程与智能设计大赛总结
    Luogu P6042 「ACOI2020」学园祭 题解
    联合省选2021 游记
    Codeforces 1498E Two Houses 题解 —— 如何用结论吊打标算
  • 原文地址:https://www.cnblogs.com/chaoshenzhu/p/7928002.html
Copyright © 2011-2022 走看看