A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 唐海军 中级黑马   /  2012-12-18 11:04  /  1776 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

base常用于哪些方面?this常用于哪些方面? base可以访问基类的一切成员吗?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

5 个回复

倒序浏览
base关键字
调用基类上已被其他方法重写的方法。
指定创建派生类实例时应调用的基类构造函数
base常用于,在派生类对象初始化时和基类进行通信。
base可以访问基类的公有成员和受保护成员,私有成员是不可访问的。
this指代类对象本身,用于访问本类的所有常量、字段、属性和方法成员,而且不管访问元素是任何访问级别。this仅仅局限于对象内部,对象外部是无法看到的。静态成员不是对象的一部分,因此不能在静态方法中引用this。
•尽量少用或者不用base和this。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
base 关键字
  其用于在派生类中实现对基类公有或者受保护成员的访问,但是只局限在构造函数、实例方法和实例属性访问器中.
  调用基类上已被其他方法重写的方法。
  指定创建派生类实例时应调用的基类构造函数。
this 关键字
  其用于引用类的当前实例,也包括继承而来的方法.
  限定被相似的名称隐藏的成员
  将对象作为参数传递到其他方法

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
额。。上面说的真详细。反正我自己理解就是。base一般是用在父类也就是基类上的。this一般指本身的。区别就在这里。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
我理解的是base调用基类的方法,this是调用当前类的方法,比如写构造函数的时候,为了减少代码量会用到这两个关键字,子类调用父类是base,调用本身是this,希望对你有所帮助

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
base和this在C#中被归于访问关键字,就是用于实现继承机制的访问操作,来满足对对象成员的访问,从而为多态机制提供更加灵活的处理方式。 base其用于在派生类中实现对基类公有或者受保护成员的访问,但是只局限在构造函数、实例方法和实例属性访问器中,调用基类上已被其他方法重写的方法。 指定创建派生类实例时应调用的基类构造函数。
this其用于引用类的当前实例,也包括继承而来的方法,通常可以隐藏this。
在静态成员中使用base和this都是不允许的。原因是,base和this访问的都是类的实例,也就是对象,而静态成员只能由类来访问,不能由对象来访问。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马