| 发表于:2007-09-19 05:36:39 楼主 |
在派生类中调用基类构造函数。 // 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#好像没有这个功能,所有必须要调用基类的构造函数 |
|
|
|
|