博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
virtual ,abstract,override 用法
阅读量:6040 次
发布时间:2019-06-20

本文共 913 字,大约阅读时间需要 3 分钟。

 

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的方法,可以不用.

转载地址:http://dmrhx.baihongyu.com/

你可能感兴趣的文章
SpringMVC、MyBatis声明式事务管理
查看>>
开发者详解:端游及手游服务端的常用架构
查看>>
JavaScript History对象
查看>>
在 Windows 下安装 Oracle 11g XE (Express Edition)
查看>>
ListView优化
查看>>
【原创】 PostgreSQL 实现MySQL 的auto_increment 字段
查看>>
vs2015添加vc助手
查看>>
检测点1.1
查看>>
android--------阿里 AndFix 热修复
查看>>
control.add()
查看>>
Sublime text3中配置Github
查看>>
Asp.net,C# 加密解密字符串
查看>>
网页视频播放器插件源码
查看>>
2019-4-23 plan
查看>>
[编解码] 关于base64编码的原理及实现
查看>>
WinDbg配置和使用基础
查看>>
转:Object-Runtime的基本数据类型
查看>>
JMJS系统总结系列----Jquery分页扩展库(五)
查看>>
Excel技巧之——英文大小写转换(转)
查看>>
Google 翻译的妙用
查看>>