标签:1.0,C#,void,abstract,public,WriteLine,Console,抽象类,Class From: https://www.cnblogs.com/aisa-thanatos/p/16880209.htmlinterface IEat { void EatFood(); } interface IDrink { void Drink(); } /// <summary> /// 生物类 /// </summary> abstract class Biologic { //抽象类中的方法修饰符不能是私有的【Private】 因为继承类需要实现父类中所有的虚方法 //抽象方法只能在抽象类中 public abstract void ConsoleName(); } /// <summary> /// 植物类 /// 密封类可以继承父类,但不能由别的类继承 /// </summary> sealed class Plant : Biologic { public override void ConsoleName() { Console.WriteLine("This is a pant"); } } /// <summary> /// 动物类 /// 抽象类可以继承抽象类,不需要实现父类的抽象方法 /// 抽象类可以继承接口,需要实现接口,可以使用抽象方法实现 /// </summary> abstract class Animal : Biologic, IEat { public abstract void EatFood(); public abstract void Speak(); } /// <summary> /// 派生类 /// 拆分类 /// </summary> partial class Cat : Animal { private string Name; public override void ConsoleName() { Console.WriteLine("This is a cat"); } public override void EatFood() { Console.WriteLine("I eat fish!"); } public override void Speak() { Console.WriteLine( "Miao Wu"); } /// <summary> /// partial类中的接口,可以在任意一个拆分类中实现 /// 例如IDrink的接口 /// </summary> public void Drink() { Console.WriteLine("I drink milk!"); } } /// <summary> /// 拆分类 /// 一个类可以通过partial拆分,内部的变量可以相互使用,无关修饰符 /// </summary> partial class Cat : IDrink { public void SetName(string name) { Name = name; } }