猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
c#中的base关键字?
c#中的base关键字
慕田峪7331174
浏览 507
回答 2
2回答
元芳怎么了
楼上的已经说的很明白了,现在说些他们的规则:Base 是子类中引用父类This 是当前类,引用自己 1、尽量少用或者不用base和this。除了避开子类的名称冲突和在一个构造函数中调用其他的构造函数之外,base和this的使用容易引起不必要的结果。2、在静态成员中使用base和this都是不允许的。原因是,base和this访问的都是类的实例,也就是对象,而静态成员只能由类来访问,不能由对象来访问。3、base是为了实现多态而设计的。4、使用this或base关键字只能指定一个构造函数,也就是说不可同时将this和base作用在一个构造函数上。5、简单的来说,base用于在派生类中访问重写的基类成员;而this用于访问本类的成员,当然也包括继承而来公有和保护成员。6、除了base,访问基类成员的另外一种方式是:显示的类型转换来实现。只是该方法不能为静态方法。 希望我的回答对你有帮助,如果方便请设为满意答案。
0
0
0
繁花不似锦
如果说你父类里面有一个成员比如int a;那么你子类里面也可以再定义一个int a,这个时候base.a和this.a表示的就不是一个变量了,如果说子类里面没有,那么base.a和this.a表示的都是一个变量。还有就是重写,覆盖和构造函数里面调用父类的这个方法。可以用:base(),还有就是关于形参名和成员变量相同的时候,因为是就近原则,所以直接写变量名字表示的就是形参,如果加了this表示的就是这个类的成员。C#里面的this和base 跟JAVA里面的this和super是一样的。你在定义一个变量的时候有一个this引用,指向自身,还有一个引用base,指向父类。关于你说的那种情况就是我说的第一种,如果子类成员有和父类成员同名的时候,就必须用this和base区分。
0
0
0
没找到需要的内容?换个关键词再搜索试试
向你推荐
求C语言中关键字
c语言关键字
C语言关键字
age height weight等都是C语言中的关键字么
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C#
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续