我对baseC#中的关键字感到困惑.说我有这样的代码:
?class A
{
?// member declaration....
A(int s, int t, int x)
{
?// assign the values of members
}
}
class B : A
{
// member declaration....
?B(int a, int b, int c, int d) : base(a,b,c)
{
// does the base keyword play a role in
// this constructor?
}
}
?
Run Code Online (Sandbox Code Playgroud)
现在,构造函数中base关键字的确切用法是B什么?我有几个问题需要澄清:
base关键字将调用基类A构造函数(在我们的示例中)?它是否正确?base在派生类中提供关键字会改变派生类构造函数的行为吗?基本上当base关键字应该在构造函数中使用时(一些例子会很好)?
我有另一个问题.如何通过关键字告知base班级我们的derived班级base?
提前致谢.
我认为手册非常清楚base:
base 关键字用于从派生类中访问基类的成员:
调用基类上已被另一个方法重写的方法。
指定创建派生类的实例时应调用哪个基类构造函数。
public class BaseClass
{
int num;
public BaseClass()
{
Console.WriteLine("in BaseClass()");
}
public BaseClass(int i)
{
num = i;
Console.WriteLine("in BaseClass(int i)");
}
public int GetNum()
{
return num;
}
}
public class DerivedClass : BaseClass
{
// This constructor will call BaseClass.BaseClass()
public DerivedClass() : base()
{
}
// This constructor will call BaseClass.BaseClass(int i)
public DerivedClass(int i) : base(i)
{
}
static void Main()
{
DerivedClass md = new DerivedClass();
DerivedClass md1 = new DerivedClass(1);
}
}
Run Code Online (Sandbox Code Playgroud)
/*
Output:
in BaseClass()
in BaseClass(int i)
*/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6292 次 |
| 最近记录: |