C# 类教程-继承

  • C# 类教程-类
  • C# 类教程-类成员:字段(域)、属性、索引
  • C# 类教程-类成员:方法、事件
  • C# 类教程-类成员:运算符重载与索引器
  • C# 类教程-类成员:构造函数和析构函数
  • C# 类教程-类成员:嵌套类型
  • C# 类教程-访问修饰符与可访问性级别
  • C# 类教程-继承
  • C# 类教程-继承:方法重载
  • C# 类教程-继承:隐藏(new)
  • C# 类教程-继承:重写(virtual 与 override)
  • C# 类教程-继承:抽象(abstract)
  • C# 类教程-多态性

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# 类继承

  • C# 类教程-类
  • C# 类教程-类成员:字段(域)、属性、索引
  • C# 类教程-类成员:方法、事件
  • C# 类教程-类成员:运算符重载与索引器
  • C# 类教程-类成员:构造函数和析构函数
  • C# 类教程-类成员:嵌套类型
  • C# 类教程-访问修饰符与可访问性级别
  • C# 类教程-继承
  • C# 类教程-继承:方法重载
  • C# 类教程-继承:隐藏(new)
  • C# 类教程-继承:重写(virtual 与 override)
  • C# 类教程-继承:抽象(abstract)
  • C# 类教程-多态性

你可能感兴趣的