修饰符 接口 抽象类 总结

来源:互联网 发布:淘宝订单非支付宝交易 编辑:程序博客网 时间:2024/05/29 12:11


/* 修饰符的总结:
  1) internal:
     a. internal是对程序集之间的访问权限的限制,对于程序集内部的访问没有限制
  2) 定义类时所使用的修饰符:
     a. 全局命名空间下或者某命名空间下(即不在类内部)定义接口类 枚举类 普通类 抽象类时:只能用public internal
     b. 在类的内部定义某类A时:可以用private protected public,internal等修饰符来修饰类A(注意:其他类在需要访问某个类A内部定义的类B时,不能单独用B,而需用A.B来访问)
  3) 关于程序集之间的访问权限:
     a. public类可以被其他程序集访问,internal类无法被其他程序集访问。
     b. public成员:如果该成员所属类可以被其他程序集访问,则该public成员也可以被其他程序集访问,
     c. internal protected private成员:不能被其他程序集访问
  4) 关于程序集内的访问权限:
     a. public成员可以被其他类访问
     b. private成员只能在类内部访问
     c. protected成员只能被子类访问
     d. internal成员可以被其他类访问
  5) 类或者成员不使用修饰符的情况:
       a. 如果是在命名空间或者全局命名空间下的类不使用修饰符,那么默认该类为internal。
       b. 非接口类或者抽象类的成员不使用修饰符则默认该成员为private。
       c. 接口类的成员不能用修饰符
       d. 抽象类的抽象成员一般不用修饰符(如果要用,只能使用除private以外的修饰符,因为它需要被子类访问所以不能有private)
       e. 抽象类的非抽象成员可以用任何修饰符
*/


public interface Interface1 // 接口不允许实例化
{
    // 子类中必须实现接口的所有属性或函数
    // 接口成员不能有字段
    // 接口成员都不能有具体实现
    // 成员不能使用任何修饰符


    int i1 { get; set; }// 接口成员可以是属性器


    void S2(int i); // 接口成员可以是函数 
}


internal abstract class Class1 // 抽象类不允许实例化
{
    // 子类必须实现所有的抽象属性与函数
    // 抽象成员允许有字段、函数的实现
    // 抽象成员不能有具体实现
    //  抽象类的抽象成员一般不用修饰符(如果要用,只能使用除private以外的修饰符,因为它需要被子类访问所以不能有private)


    public abstract int i1 { get; set; } // 抽象成员可是属性器
    public abstract void S1(); // 抽象成员可以是函数
}
阅读全文
0 0
原创粉丝点击