在 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();
}
}
输出:
吃... 吠叫... 哭泣...