上一篇: C# 类(Class)
下一篇: C# 多态性
C# 继承
在本教程中,将介绍C#语言中的继承(Inheritance)。继承是面向对象编程(OOP)的一个重要特征,允许创建一个新类(子类),它将基于另一个现有类(父类)。子类继承并可以扩展或修改父类的属性和方法。这样可以实现代码复用和模块化。
基本概念
首先,了解以下概念:
- 基类 (Base Class):也称为父类或超类,是被其他类继承的类。
- 派生类 (Derived Class):也称为子类,从基类继承属性和方法的类。
创建基类
创建一个简单的基类 Animal
,具有两个属性(Name和Age)以及几个方法(Eat、MakeSound和PrintInfo)。
public class Animal { public string Name { get; set; } public int Age { get; set; } public Animal(string name, int age) { Name = name; Age = age; } public void Eat() { Console.WriteLine("The animal is eating."); } public void MakeSound() { Console.WriteLine("The animal makes a generic sound."); } public void PrintInfo() { Console.WriteLine($"Name: {Name}, Age: {Age}"); } }
创建子类
现在,创建一个名为 Dog
的子类,继承自基类 Animal
。在C#中,使用冒号(:)表示继承关系。
public class Dog : Animal { public string Breed { get; set; } public Dog(string name, int age, string breed) : base(name, age) { Breed = breed; } // 重写基类方法 public override void MakeSound() { Console.WriteLine("The dog barks."); } // 添加新方法 public void Fetch() { Console.WriteLine("The dog fetches a ball."); } }
在这个例子中:
- 使用
base
关键字调用基类的构造函数。 - 重写了基类的
MakeSound
方法。 - 添加了一个新方法
Fetch
。
使用子类
创建一个 Dog
对象,并调用其继承自 Animal
的方法。
class Program { static void Main(string[] args) { Dog myDog = new Dog("Max", 5, "Golden Retriever"); myDog.Eat(); // 继承自基类 myDog.MakeSound(); // 重写后的方法 myDog.PrintInfo(); // 继承自基类 myDog.Fetch(); // 子类独有的方法 Console.ReadLine(); } }
输出结果:
The animal is eating. The dog barks. Name: Max, Age: 5 The dog fetches a ball.
小结
通过本教程,您已学会如何在C#中使用继承来创建子类,以及如何重写基类的方法并添加新方法。这些知识将有助于您更好地理解和运用面向对象编程的原则。请继续学习和探索C#的其他特性。