在 C# 中,继承是一个对象自动获取其父对象的所有属性和行为的过程。这样,您可以重用、扩展或修改其他类中定义的属性和行为。
在C#中,继承另一个类成员的类称为派生类,其成员被继承的类称为基类。派生类是基类的专用类。
代码可重用性:现在您可以重用父类的成员。因此,无需再次定义成员。所以类中需要更少的代码。
当一个类继承另一个类时,称为单级继承。让我们看一下仅继承字段的单级继承示例。
using System; public class Employee { public float salary = 40000; } public class Programmer: Employee { public float bonus = 10000; } class TestInheritance{ public static void Main(string[] args) { Programmer p1 = new Programmer(); Console.WriteLine("工资:" + p1.salary); Console.WriteLine("奖金:" + p1.bonus); } }
输出:
工资:40000 奖金:10000
在上面的示例中,Employee 是基类,Programmer 是派生类。
让我们看看 C# 中的另一个继承示例,它只继承方法。
using System; public class Animal { public void eat() { Console.WriteLine("吃..."); } } public class Dog: Animal { public void bark() { Console.WriteLine("吠叫..."); } } class TestInheritance2{ public static void Main(string[] args) { Dog d1 = new Dog(); d1.eat(); d1.bark(); } }
输出:
吃... 吠叫...
当一个类继承另一个类并被另一个类进一步继承时,在 C# 中称为多级继承。继承是可传递的,因此最后一个派生类获取其所有基类的所有成员。
让我们看一下 C# 中多级继承的示例。
using System; public class Animal { public void eat() { Console.WriteLine("吃..."); } } public class Dog: Animal { public void bark() { Console.WriteLine("吠叫..."); } } public class BabyDog : Dog { public void weep() { Console.WriteLine("哭泣..."); } } class TestInheritance2{ public static void Main(string[] args) { BabyDog d1 = new BabyDog(); d1.eat(); d1.bark(); d1.weep(); } }
输出:
吃... 吠叫... 哭泣...