Welcome

首页 / 软件开发 / .NET编程技术 / [你必须知道的.NET] 第六回:深入浅出关键字---base和this

[你必须知道的.NET] 第六回:深入浅出关键字---base和this2011-03-14 博客园 Anytao本文将介绍以下内容:

面向对象基本概念

base关键字深入浅出

this关键字深入浅出

1.引言

new关键字引起了大家的不少关注,尤其感谢Anders Liu的补充,让我感觉博客园赋予的交流平台真的无所不在。所以,我们就有必要继续这个话题,把我认为最值得关注的关键字开展下去,本文的重点是访问关键字(Access Keywords):base和this。虽然访问关键字不是很难理解的话题,我们还是有可以深入讨论的地方来理清思路。还是老办法,我的问题先列出来,您是否做好了准备。

是否可以在静态方法中使用base和this,为什么?

base常用于哪些方面?this常用于哪些方面?

可以base访问基类的一切成员吗?

如果有三层或者更多继承,那么最下级派生类的base指向那一层呢?例如.NET体系中,如果以base访问,则应该是直接父类实例呢,还是最高层类实例呢?

以base和this应用于构造函数时,继承类对象实例化的执行顺序如何?

2.基本概念

base和this在C#中被归于访问关键字,顾名思义,就是用于实现继承机制的访问操作,来满足对对象成员的访问,从而为多态机制提供更加灵活的处理方式。

2.1 base关键字

其用于在派生类中实现对基类公有或者受保护成员的访问,但是只局限在构造函数、实例方法和实例属性访问器中,MSDN中小结的具体功能包括:

调用基类上已被其他方法重写的方法。

指定创建派生类实例时应调用的基类构造函数。

2.2 this关键字

其用于引用类的当前实例,也包括继承而来的方法,通常可以隐藏this,MSDN中的小结功能主要包括:

限定被相似的名称隐藏的成员

将对象作为参数传递到其他方法

声明索引器

3.深入浅出