基础2

来源:互联网 发布:php手册pdf下载 编辑:程序博客网 时间:2024/05/21 06:41
修饰符
new      使用 new 修饰符显式隐藏从基类继承的成员。若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并用 new 修饰符修饰它。
若用调用基类相同成员请用base.成员

static   使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修饰符可用于字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类型。

override 重写方法提供从基类继承的成员的新实现。由重写声明重写的方法称为重写基方法。重写基方法必须与重写方法具有相同的签名。
         不能重写非虚方法或静态方法。重写基方法必须是虚拟的、抽象的或重写的。

virtual 关键字用于修改方法或属性的声明,在这种情况下,方法或属性被称作虚拟成员。虚拟成员的实现可由派生类中的重写成员更改。

abstract 只负责声明方法,只能做基类,由其派生类完成其具体的实现.
sealed    密封类不能被继承。将密封类用作基类是错误的。在类声明中使用 sealed 修饰符可防止继承此类。
访问修饰符
public     对于访问公共成员没有限制
protected  从声明受保护的成员的类中,以及从声明受保护的成员的类派生的任何类中都可以访问该成员。
           class A
        {
           protected int x = 123;
        }

        class B : A
        {
           void F()
           {
          A a = new A(); 
          B b = new B(); 
          a.x = 10;   // Error
          b.x = 10;   // OK
       }
    }
语句 a.x =10 将生成错误,因为 A 不是从 B 派生的。

internal 内部成员只有在同一程序集中的文件内才是可访问的
private 访问是允许的最低访问级别。私有成员只有在声明它们的类和结构体中才是可访问的。

readonly 字段修饰符
volatile

-C/C++中未经初始化的变量是不能使用的。在C#中,
系统将为每个未经初始化的变量提供一个默认值。对于所有引用类型的变量,默认值是null


 抽象)abstract和虚拟(virtual)
相似:在申明方法的时候,都能被重写

区别:

(抽象)abstract:可以申明类也可以申明方法,申明方法时不能和sealed一起申明,所申明的类必须被继承,申明的方法也必须被重写,申明时没有具体实现,实际上它起一个接口的作用

虚拟(virtual):只能申明方法,可以在申明方法的时候写对应的实现
原创粉丝点击