📅  最后修改于: 2023-12-03 14:56:19.506000             🧑  作者: Mango
本程序以 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# 中如何定义类、继承和重写方法的相关知识点。这个简单的示例可以作为初学者理解和学习继承的一种参考。