在派生类中调用基类构造函数。
// keywords_base2.cs
using System;
public class BaseClass
{
int num; public BaseClass()
{
Console.WriteLine("in BaseClass()");
} public BaseClass(int i)
{
num = i;
Console.WriteLine("in BaseClass(int {0})", num);
}
}public class DerivedClass : BaseClass
{
// 该构造器调用 BaseClass.BaseClass()
public DerivedClass() : base()
{
} // 该构造器调用 BaseClass.BaseClass(int i)
public DerivedClass(int i) : base(i)
{
} static void Main()
{
DerivedClass dc = new DerivedClass();
DerivedClass dc1 = new DerivedClass(1);
}
}/**//*
控制台输出:
in BaseClass()
in BaseClass(1)
*/
如果我在 // 该构造器调用 BaseClass.BaseClass()
public DerivedClass() : base()
{
}我发现 public DerivedClass() : base()
{
}
和 public DerivedClass()
{
}
功能一样,那么base()在这里还有什么用????
难道不生成基类,可以生成子类吗,c#好像没有这个功能,所有必须要调用基类的构造函数
// keywords_base2.cs
using System;
public class BaseClass
{
int num; public BaseClass()
{
Console.WriteLine("in BaseClass()");
} public BaseClass(int i)
{
num = i;
Console.WriteLine("in BaseClass(int {0})", num);
}
}public class DerivedClass : BaseClass
{
// 该构造器调用 BaseClass.BaseClass()
public DerivedClass() : base()
{
} // 该构造器调用 BaseClass.BaseClass(int i)
public DerivedClass(int i) : base(i)
{
} static void Main()
{
DerivedClass dc = new DerivedClass();
DerivedClass dc1 = new DerivedClass(1);
}
}/**//*
控制台输出:
in BaseClass()
in BaseClass(1)
*/
如果我在 // 该构造器调用 BaseClass.BaseClass()
public DerivedClass() : base()
{
}我发现 public DerivedClass() : base()
{
}
和 public DerivedClass()
{
}
功能一样,那么base()在这里还有什么用????
难道不生成基类,可以生成子类吗,c#好像没有这个功能,所有必须要调用基类的构造函数
里面的base()是多余的