posts - 102,comments - 0,views - 35459

虚函数是有代码的并明确允许子类去覆盖,但子类也可不覆盖,就是说可以直接用,不用重写   

复制代码
    //虚方法,必须声明主体(默认方法体)可重写可不重写。
    public class A 
    { 
        public virtual void a()
        {
            Console.WriteLine("虚函数a");
        }
        public virtual void a1()
        {
            Console.WriteLine("虚函数a1");
        }
    }
复制代码

 

抽象函数是没有代码,子类继承后一定要重写

    //抽象方法,无主体,必须继承重写

    public abstract class B
    {
        public abstract void b();
    }

继承重写

复制代码
    public class C:A
    {
        public override void a()
        {
            base.a();
            Console.WriteLine("重写虚函数a");
        }
    }
    public class D:B
    {
        public override void b()
        {
            Console.WriteLine("重写抽象方法b");
        }
    }
复制代码

主函数调用

           C c=new C();
            D d=new D();
            c.a();
            c.a1();//继承了父类a中的a1()方法;
            d.b();
            Console.ReadLine();

 

posted on   阿霖找BUG  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示