1. base关键字主要是为派生类调用基类成员提供一个简写的方法;
2. 举例子:
class A
{
public void F()
{
//F的具体执行代码
}
public int this[int nIndex]
{
get
{
/////////////////
}
set
{
/////////////////
}
}
}
class B
{
public void G()
{
int x=base[0];
base.F();
}
}
3. 类B从A中继承,B的方法G中调用了A的方法F和索引指示器。方法F在进行编译时等价于:
public void G()
{
int x=(A(this))[0];
(A(this)).F();
}
4. 使用base关键字对基类成员的访问格式为:
base.identifier
base[expression-list]
还有就是要在子类的构造方法传递参数给父类时也需要用base()
class A
{
public A(int a, int b) //父类没默认构造方法,必须要两个参数
{
}
}
class B : A
{
public B(int a,int b,int c,int d):base(a, b) //继承父类需要给父类传递两参数初始化父类
{
}
}
这样实例化B类的对象时,从父类继承下来的成员也就能完成初始化作者: 李恒权 时间: 2014-3-8 15:20