google0312 发表于 2016-9-19 11:58:36

C#入门基础——屏蔽基类成员

派生类是不能删除它继承的任何成员的,但可以用与基类成员名称相同的成员来屏蔽基类成员,这是继承的主要功能之一。
屏蔽基类成员使用关键字new修饰符。

namespace 屏蔽基类成员
{
    class Program
    {
      static void Main(string[] args)
      {
            OtherClass oc = new OtherClass();//实例化
            oc.Method1(oc.Field1);
            SomeClass oc1 =new SomeClass();    //实例化
            oc1.Method1(oc1.Field1);
            Console.ReadKey();
      }
    }
    class SomeClass   //基类
    {
      public string Field1 ="SomeClass Field1";
      public void Method1(string value)
      {
            Console.WriteLine("SomeClass.Method1: {0}",value);
      }
    }
    class OtherClass : SomeClass   //派生类
    {
      new public string Field1 ="OtherClass Field1";//用关键字new来屏蔽基类成员
      new public void Method1(string value)         //用关键字new来屏蔽基类成员
      {
            Console.WriteLine("OtherClass.Method1: {0}",value);
      }
    }
}

输出结果:
OtherClass.Method1: OtherClass Field1
SomeClass.Method1:   SomeClassField1

match123_xbd 发表于 2023-4-3 14:43:17

{:7_146:}
页: [1]
查看完整版本: C#入门基础——屏蔽基类成员