基类里不具体实现,派生类中重写实现功能

来源:互联网 发布:程序员入门基础 编辑:程序博客网 时间:2024/05/19 05:37
/*在C#中通过把类或方法声明为abstract来实现抽象类和抽象方法,抽象类不能实例化,抽象方法没有具体执行代码,必须在非抽象类的派生类中重写*/
    public abstract class ParentClass
    {
        public ParentClass()
        {
            Console.WriteLine("父类构造函数");
        }
        public abstract void SayHello();
    }

    public class ChildClass : ParentClass
    {
        public ChildClass()
        {
            Console.WriteLine("子类构造函数");
        }
        public override void SayHello()
        {
            Console.WriteLine("我是子类");
        }

        public static void Main()
        {
            ChildClass child = new ChildClass();//依次调用父类构造函数和子类构造函数
            child.SayHello();
        }
    }



    /*如果不想把类声明为抽象类,但又想实现方法在基类里不具体实现,而是在派生类中重写实现方法。可以通过把方法声明为虚函数(virtual)的形式来实现方法的重写*/
    public class ParentClass
    {
        public ParentClass()
        {
            Console.WriteLine("父类构造函数");
        }
        public virtual void SayHello()
        {
            //虚函数必须声明方法主体,抽象方法可以不需要
        }
    }

    public class ChildClass : ParentClass
    {
        public ChildClass()
        {
            Console.WriteLine("子类构造函数");
        }
        public override void SayHello()
        {
            Console.WriteLine("我是子类");
        }
        public static void Main()
        {
            ChildClass child = new ChildClass();
            child.SayHello();
        }
    }


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 雅思考试作文格式写错了怎么办 英国银行卡注销后钱怎么办 本科毕业有毕业证没有学位证怎么办 莫名收到平安一账通验证码怎么办 新车没带行驶证怎么办 深圳行驶证副本丢了怎么办 新车行驶证是怎么办的 新车怎么办牌和行驶证 b本扣12分了怎么办 车的绿本丢了怎么办 车辆落户查不到购车发票怎么办 扣车凭证丢了怎么办 三轮车驾驶证被扣了怎么办 违章12分不够扣怎么办 忘记带行驶证了怎么办 开车不带行驶证怎么办 屏幕没碎黑屏了怎么办 三星s6屏幕不亮怎么办 苹果手机掉水里屏幕黑屏怎么办 三星s6电池不耐用怎么办 台式电脑显示屏坏了怎么办 三星笔记本电脑不显示韩文怎么办 三星s6开不开机怎么办 电脑显示屏显示检测信号线怎么办 三星s8屏幕坏了怎么办 手机挤压漏液了怎么办 三星显示器跳白色线条怎么办动 三星s6屏幕漏液怎么办 三星电视曲面屏碎了怎么办 平板摔了花屏怎么办 新手机开不了机怎么办 三星a9屏幕漏液怎么办 小米note后面玻璃碎了怎么办 换手机微信钱包怎么办 内外屏一体手机屏幕碎了怎么办 苹果手机显示屏坏了怎么办 华为手机屏裂了怎么办 乐视手机屏坏了怎么办 红米手机触屏失灵怎么办 小米4排线断了怎么办 红米3x屏幕难点怎么办