C# Foundation---keyword: new

 1 using  System;
 2 using  System.Collections.Generic;
 3 using  System.Text;
 4
 5 namespace  CSharpFoundationStudy
 6 {
 7    /*
 8     * 关键字: new
 9     * new 修饰符与 new 操作符是两个概念
10     * new 修饰符用于声明类或类的成员,表示隐藏了基类中同名的成员。而new 操作符用于实例化一个类型
11     * new 修饰符只能用于继承类,一般用于弥补基类设计的不足
12     * new 修饰符和 override 修饰符不可同时用在一个成员上,因为这两个修饰符在含义上互相排斥
13     */

14
15    public class NewBase
16    {
17        //基类设计者声明了一个PI的公共变量,方便进行运算
18        public static double PI = 3.1415;
19    }

20
21    public class NewDerived : NewBase
22    {
23        //继承类发现该变量的值不能满足运算精度,于是可以通过new修饰符显式隐藏基类中的声明
24        public new static double PI = 3.1415926;
25    }

26
27    //public class NewTest
28    //{
29    //    public static void Main()
30    //    {
31    //        Console.WriteLine(NewBase.PI);
32    //        Console.WriteLine(NewDerived.PI);
33    //        Console.ReadLine();
34    //    }
35    //}
36}

37

你可能感兴趣的:(word)