首页 > 代码库 > 屏蔽基类成员
屏蔽基类成员
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class C1 { public int myvalue = http://www.mamicode.com/10; public void method() { Console.WriteLine("myvalue:{0}", myvalue); } } class C2:C1 { new public int myvalue = http://www.mamicode.com/20; new public void method()//如果这儿没有用new编译器会给你一个警告 { Console.WriteLine("myvalue:{0}", myvalue); Console.WriteLine("myvalue:{0}", base.myvalue); } } class Program { static void Main(string[] args) { C1 C_1 = new C1(); C_1.method(); C2 C_2 = new C2(); C_2.method(); //base.method();//错误-关键字“base”在静态方法中不可用 Console.ReadLine(); } }}
要屏蔽一个继承的成员,需要声明一个新的相同类型的数据成员,并使用相同的名称要让编译器知道你在故意屏蔽基类成员,使用new修饰符。也可以屏蔽基类成员。
如果派生类必须完全的访问被隐藏的继承成员,可以使用基类访问表达式访问隐藏的继承成员。基类的访问呢表达式由关键字base后面跟着一个点和成员的名称组成。
屏蔽基类成员
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。