📜  用于分层继承的 C# 程序(1)

📅  最后修改于: 2023-12-03 14:56:19.506000             🧑  作者: Mango

用于分层继承的 C# 程序

简介

本程序以 C# 语言实现,用于分层继承,方便开发人员在实现继承时更加清晰地组织代码,并且易于维护和扩展。

实现

本程序主要由以下文件组成:

  • Animal.cs:基类,定义了所有动物的共同属性和方法,包括给动物喂食、放生、展示等操作;
  • Bird.cs:鸟类,继承自 Animal,添加了额外的属性和方法,包括飞行、叫声等操作;
  • Fish.cs:鱼类,继承自 Animal,添加了额外的属性和方法,包括游泳、呼吸等操作;
  • Program.cs:程序入口文件,定义了主程序并调用各种方法。

以下是 Animal.cs 的代码片段:

// Animal.cs
public class Animal
{
    // 动物名称
    public string Name { get; set; }

    // 构造函数
    public Animal(string name)
    {
        Name = name;
    }

    // 给动物喂食
    public virtual void Feed()
    {
        Console.WriteLine($"{Name} 正在吃东西...");
    }

    // 放生动物
    public virtual void Release()
    {
        Console.WriteLine($"{Name} 已经被释放了!");
    }

    // 展示动物信息
    public virtual void ShowInfo()
    {
        Console.WriteLine($"这是一只 {Name}。");
    }
}

以下是 Bird.cs 的代码片段:

// Bird.cs
public class Bird : Animal
{
    // 飞行速度
    public int FlyingSpeed { get; set; }

    // 构造函数
    public Bird(string name, int flyingSpeed) : base(name)
    {
        FlyingSpeed = flyingSpeed;
    }

    // 飞行
    public void Fly()
    {
        Console.WriteLine($"{Name} 正在飞行,速度为 {FlyingSpeed} km/h。");
    }

    // 发出叫声
    public void Chirp()
    {
        Console.WriteLine($"{Name} 正在发出叫声,叽叽喳喳~");
    }

    // 重写展示动物信息的方法
    public override void ShowInfo()
    {
        Console.WriteLine($"这是一只 {Name},能飞行,速度为 {FlyingSpeed} km/h。");
    }
}

以下是 Fish.cs 的代码片段:

// Fish.cs
public class Fish : Animal
{
    // 游泳速度
    public int SwimmingSpeed { get; set; }

    // 构造函数
    public Fish(string name, int swimmingSpeed) : base(name)
    {
        SwimmingSpeed = swimmingSpeed;
    }

    // 游泳
    public void Swim()
    {
        Console.WriteLine($"{Name} 正在游泳,速度为 {SwimmingSpeed} km/h。");
    }

    // 呼吸
    public void Breathe()
    {
        Console.WriteLine($"{Name} 正在呼吸水中的氧气。");
    }

    // 重写展示动物信息的方法
    public override void ShowInfo()
    {
        Console.WriteLine($"这是一只 {Name},能游泳,速度为 {SwimmingSpeed} km/h。");
    }
}

以下是 Program.cs 的代码片段:

// Program.cs
class Program
{
    static void Main(string[] args)
    {
        // 实例化一些动物
        Animal eagle = new Bird("雄鹰", 100);
        Animal shark = new Fish("大白鲨", 80);

        // 调用动物的一些方法,展示其信息
        eagle.Feed();
        eagle.Release();
        eagle.ShowInfo();
        (eagle as Bird).Fly();
        (eagle as Bird).Chirp();

        shark.Feed();
        shark.Release();
        shark.ShowInfo();
        (shark as Fish).Swim();
        (shark as Fish).Breathe();
    }
}
总结

本程序实现了分层继承,通过继承实现了各种动物的共性和个性。同时也展现了在 C# 中如何定义类、继承和重写方法的相关知识点。这个简单的示例可以作为初学者理解和学习继承的一种参考。