📜  C#继承

📅  最后修改于: 2020-10-31 03:03:32             🧑  作者: Mango

C#继承

在C#中,继承是一个过程,其中一个对象自动获取其父对象的所有属性和行为。这样,您可以重用,扩展或修改在其他类中定义的属性和行为。

在C#中,继承另一个类的成员的类称为派生类,其成员被继承的类称为基类。派生类是基类的专用类。

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#单级继承示例:继承方法

让我们看一下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#中被称为多级继承。继承是可传递的,因此最后一个派生类将获取其所有基类的所有成员。

让我们看一下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#通过类不支持多重继承。