📅  最后修改于: 2020-10-31 03:03:32             🧑  作者: Mango
在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("Salary: " + p1.salary);
Console.WriteLine("Bonus: " + p1.bonus);
}
}
输出:
Salary: 40000
Bonus: 10000
在上面的示例中,Employee是基类,Programmer是派生类。
让我们看一下C#中继承的另一个示例,该示例仅继承方法。
using System;
public class Animal
{
public void eat() { Console.WriteLine("Eating..."); }
}
public class Dog: Animal
{
public void bark() { Console.WriteLine("Barking..."); }
}
class TestInheritance2{
public static void Main(string[] args)
{
Dog d1 = new Dog();
d1.eat();
d1.bark();
}
}
输出:
Eating...
Barking...
当一个类继承另一个类又被另一个类继承时,在C#中被称为多级继承。继承是可传递的,因此最后一个派生类将获取其所有基类的所有成员。
让我们看一下C#中的多级继承的示例。
using System;
public class Animal
{
public void eat() { Console.WriteLine("Eating..."); }
}
public class Dog: Animal
{
public void bark() { Console.WriteLine("Barking..."); }
}
public class BabyDog : Dog
{
public void weep() { Console.WriteLine("Weeping..."); }
}
class TestInheritance2{
public static void Main(string[] args)
{
BabyDog d1 = new BabyDog();
d1.eat();
d1.bark();
d1.weep();
}
}
输出:
Eating...
Barking...
Weeping...
注意:C#通过类不支持多重继承。