virtual ,abstract,override 用法

 

abstract:

抽像一个方法或一个类,抽像一个类时如下:

public abstract class MigrateBase
{

protected abstract List<string> NeedReplaceColumn { get; }

}

MigrateBase 就可以做为其它类的基类,NeedReplaceColumn 属性在其的子类中则必须重写,就是说的override,而且abstract 在声名方法或属性时,实现不要写;

 

virtual:

虚拟一个方法,如下

public abstract class MigrateBase
{

        protected virtual List<string> NeedReplaceColumn
        {

            get
            {

                List<string> numlist = new List<string>(){

                {"one"},

                {"two"}

                };

                return numlist;
            }
        }

}

virtual 在子类继承MigrateBase时可以override,也可以不override,不override的话,NeedReplaceColumn的值就是List<string>(){{"one"},{"two"}};

如果override 后,如下:

   public  class MigratePatientsDocuments : MigrateBase
    {

       protected override List<string> NeedReplaceColumn
        {

            get
            {

                List<string> numlist = new List<string>(){

                {"three"},

                {"four"}

                };

                return numlist;
            }
        }

 

      那么在运行MigratePatientsDocuments类时,NeedReplaceColumn的值就是:

List<string>(){

                {"three"},

                {"four"}

                };

override:

  重载方法,父类有abstract的方法里,子类一定要对该方法override,而virtual的方法,可以不用.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值