C# 中,面向对象编程(OOP)是一种使用类和对象来模拟现实世界事物和关系的编程范式。继承是面向对象的三大特性之一,类继承一个或多个现有类的属性和方法。这样可以促进代码的重用并实现多态性。C# 面向对象编程有三大特性,它们是封装、继承和多态。有时也会提到一个额外的特性,即抽象,也认为面向对象编程具有四大特性。本文主要介绍C# 继承。

1、C# 继承 (子类 和 基类)

在C# 中,可以将属性和方法从一个类继承到另一个类。 继承分为两类:

  • 子类(子类):从另一个类继承的类
  • 基类(父级):继承自的类

要从类继承,请使用:。

在下面的示例中,Student类(子类)继承了People类(基类)的属性和方法:

例如:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication
{
  public class People
  {
    protected string Name = "cjavapy";        // People 属性
    public void Study()
     {                    // People 方法
      Console.WriteLine("好好学习");
     }
  }
  public class Student : People
  {
    private string className = "Python";    // Student 属性
    public static void Main(string[] args)
    {
    // 创建 student 对象
    Student student = new Student();
    // 调用student的study() 方法 (从 People 类继承) student 
    student.Study();
    // 显示Name属性(从 People 类继承)的值和Student类的className的值
    Console.WriteLine(student.Name + " " + student.className);
    }
  }
}

People中的protected修饰符,我们将People中的Name属性设置为受protected限制的访问修饰符。如果将其设置为private,则Student类将无法访问它。

继承对于代码可重用性很有用:重用创建新类时,请使用现有类的属性和方法。

2、sealed 关键字

如果不希望其他类继承自一个类,请使用sealed 关键字:

如果尝试访问sealed 类,则C#将生成错误:

sealed class People {
  ...
}
class Student: People {
  ...
}

相关文档C# 封装

3、使用继承的好处

1)代码重用

派生类可以使用基类中定义的方法和属性,无需重新编写相同的代码。

2)扩展功能

派生类可以在继承的基础上增加或改写自己的方法和属性,实现功能的扩展。

3)多态性

通过继承,可以调用派生类对象的方法,即使是用基类类型的引用来引用它们,也可以实现运行时的多态。

推荐文档