对于C#里面的this与base

如果说你父类里面有一个成员比如int  a;那么你子类里面也可以再定义一个int a,这个时候base.a和this.a表示的就不是一个变量了,如果说子类里面没有,那么base.a和this.a表示的都是一个变量。还有就是重写,覆盖和构造函数里面调用父类的这个方法。可以用:base(),还有就是关于形参名和成员变量相同的时候,因为是就近原则,所以直接写变量名字表示的就是形参,如果加了this表示的就是这个类的成员。C#里面的this和base 跟JAVA里面的this和super是一样的。你在定义一个变量的时候有一个this引用,指向自身,还有一个引用base,指向父类。关于你说的那种情况就是我说的第一种,如果子类成员有和父类成员同名的时候,就必须用this和base区分。
posted @ 2015-05-18 23:24  ywda  阅读(280)  评论(0)    收藏  举报