C# 类的继承与 C++ 等语言一个重要的不同,就是只能从一个类中继承,这是开发者在权衡了从多个类继承的优势与劣势作出的结果。不过,可以从接口继承。另外,继承可传递。构造函数和析构函数不能被继承。
初始化基类
可以在派生类构造函数中添加初始化基类的代码。
public class BaseClass { private int i = 0; public BaseClass(int index) { i = index; } } public class DerivedClass : BaseClass { private int j = 0; public DerivedClass(int index) : base(index) { j = index; } }
注意派生类构造函数中的 : base(index)。先执行 base(index),再执行 j = index。
另外,相对于 this,要访问基类的成员,可以使用 base,当前这不能用在静态方法中,因为静态方法没有实例。
一些比较偏门的问题,请参见另一连载:C# 类继承。