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#