interface 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;
        }
    }

  

原文地址:http://www.cnblogs.com/aisa-thanatos/p/16880209.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性