9 abstract 和 Virtual 之间的差别


(1) abstract方法没有详细的实现。同一时候必须被覆写

(2) 虚(Virtual)方法能够没有详细的实现,也不一定必须覆写(虚方法定义时,能够没有详细的实现代码,可是必须创建方法体:即必须有方法的左右花括号)。

(3) 抽象方法不能够使用base.method()方式调用,可是虚方法是能够的


//定义一个抽象方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MVATwentyQuestions
{
    abstract class absClass
    {
        public abstract void DisplayValue(string value);
    }
}

//在抽象类的子类中覆写抽象方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MVATwentyQuestions
{
    class absClassInherited : absClass
    {
        override public void DisplayValue(string value)
        {
            Console.WriteLine(value);
        }
    }
}

//定义一个虚方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MVATwentyQuestions
{
    class virtClass
    {
        public virtual void DisplayValue(string value)
        {
            Console.WriteLine(value);
        }
    }
}

//在子类中覆写虚方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MVATwentyQuestions
{
    class virtClassInherited : virtClass
    {
        public override void DisplayValue(string value)
        {
            Console.WriteLine(value.ToUpper());
        }
    }
}


转载于:https://www.cnblogs.com/gcczhongduan/p/5133184.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值