一、什么是继承
继承是面向对象编程最重要的特性之一。任何类都可以从另外一个类继承,也就是说,这个类会拥有它继承的类的所有成员。在面向对象编程中,被继承的类称为父类或基类,继承得到的类称为派生类或子类。
C# 提供了类的继承机制,但只支持单继承,而不支持多重继承,即在 C# 中一次只允许继承一个类,不能同时继承多个类。
说明:继承类时,需要使用冒号加类名。
二、创建派生类的语法
创建派生类的语法如下:
<访问修饰符> class 派生类名 : 基类名 { // 类代码块 }其中,访问修饰符用于控制类的可见性,派生类名是新建的类名,基类名是要继承的父类名,两者之间用冒号分隔。
三、继承实例演示
下面通过一个实例来介绍类的继承性在实际中的应用。示例中定义基类Class1,再定义继承自Class1的派生类Class2,并在Main方法中分别调用基类与派生类的方法。
using System; public class Class1 { public void outMethod() { Console.WriteLine("这是基类"); } } // 定义继承类,该类继承于基类 Class1 public class Class2 : Class1 { public void outMethod2() { Console.WriteLine("这是继承类"); } } class Program { static void Main(string[] args) { Class1 class1 = new Class1(); // 实例化 Class1 基类对象 class1.outMethod(); // 调用基类 Class1 中的自定义方法 Class2 class2 = new Class2(); // 实例化 Class2 派生类对象 class2.outMethod(); // 使用 Class2 对象调用从基类 Class1 继承的自定义方法 class2.outMethod2(); // 调用自身 Class2 中的自定义方法 } }四、运行结果
输出结果:
这是基类 这是基类 这是继承类五、结果分析
class1.outMethod()调用的是基类Class1自身的方法,输出“这是基类”。class2.outMethod()调用的是派生类Class2从基类继承而来的方法,同样输出“这是基类”,说明派生类可以直接使用基类的成员。class2.outMethod2()调用的是派生类Class2自己定义的方法,输出“这是继承类”。
由此可见,派生类不仅拥有自身定义的成员,还自动获得了基类的所有可访问成员,这正是继承复用代码的核心价值。
六、使用继承的注意事项
- 单继承限制:C# 中一个类只能直接继承一个基类,若需要复用多个类型的能力,可通过接口实现。
- 访问权限:基类中被声明为
private的成员不会被子类访问,需要按需使用protected或public。 - 构造顺序:实例化派生类时,会先执行基类的构造函数,再执行派生类的构造函数。
- 命名规范:类名建议使用 PascalCase,冒号两侧保持一个空格,提升代码可读性。