在C#中,继承是一种面向对象编程的重要概念,允许一个类(派生类)从另一个类(基类)继承属性和方法。派生类可以重用基类的代码,并添加、修改或扩展其功能。以下是一个简单的C#继承的示例:
using System;

// 基类
public class Animal
{
    // 基类的字段
    protected string name;

    // 基类的构造函数
    public Animal(string n)
    {
        name = n;
    }

    // 基类的方法
    public void Eat()
    {
        Console.WriteLine($"{name} is eating.");
    }

    // 基类的虚方法
    public virtual void MakeSound()
    {
        Console.WriteLine($"{name} makes a generic sound.");
    }
}

// 派生类
public class Dog : Animal
{
    // 派生类的构造函数
    public Dog(string n) : base(n)
    {
    }

    // 派生类重写基类的方法
    public override void MakeSound()
    {
        Console.WriteLine($"{name} barks.");
    }

    // 派生类的新方法
    public void Fetch()
    {
        Console.WriteLine($"{name} is fetching.");
    }
}

class Program
{
    static void Main()
    {
        // 创建基类对象
        Animal animal = new Animal("Generic Animal");
        animal.Eat();
        animal.MakeSound();

        // 创建派生类对象
        Dog dog = new Dog("Buddy");
        dog.Eat();
        dog.MakeSound();
        dog.Fetch();
    }
}

在上述示例中,Animal 是一个基类,Dog 是一个派生类。Dog 类继承了 Animal 类,因此它具有基类的字段和方法。派生类可以通过 base 关键字调用基类的构造函数。

派生类还可以重写基类的方法,如 MakeSound 方法。在这里,Dog 类重写了基类中的虚方法,以提供特定于狗的行为。同时,派生类还可以添加新的方法,如 Fetch 方法。

在 Main 方法中,我们创建了基类对象和派生类对象,并演示了继承关系下的方法调用。继承是一种强大的机制,可以提高代码的重用性和可维护性。


转载请注明出处:http://www.zyzy.cn/article/detail/14759/C#