哪位大侠给我讲讲c#中virtual, abstract和override的区别和用法,不胜感激,初学者,刚学这段,非常迷糊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪位大侠给我讲讲c#中virtual, abstract和override的区别和用法,不胜感激,初学者,刚学这段,非常迷糊相关的知识,希望对你有一定的参考价值。

希望能通俗易懂一些,我看过CSDN上面的解释,没看明白。先谢谢各位了。

virtual是把一个方法声明为虚方法,使派生类可重写此方法,一般建立的方法是不能够重写的,譬如类A中有个方法
protected void method()
原代码....;

类B继承自类A,类B能够调用类A的method()方法,但不能更改方法体代码,但当类A中使用了virtual声明此方法: protected virtual void method(),那么类B可通过使用override重写此方法
protected override void method()
新代码....;

virtual可在基类、抽象类中使用
而使用abstract声明的方法,为抽象方法,抽象方法没有代码体,只有一个方法名的声明:
protected abstract void method();
当使用abstract声明的方法,其派生类必须要重写此方法,如上面一句为抽象类A中声明的,类B继承自抽象类A,那么类B中必须要使用override重写此方法
protected override void method()
新代码....;

但abstract只能在抽象类中使用
override就是派生类重写父类方法(包括虚方法、抽象方法,接口方法)时的关键字,反正你要重写方法,就使用override声明
参考技术A 建议你在程序中理解,最好加断点自己调试例子,这样理解比较快。追问

看了好多遍程序,还是有点搞不懂啊,大侠

追答

要不你看看视频讲解

追问

好的,同样谢谢你。

如下VBA代码 在EXCEL运行时非常慢,有哪位大侠能帮忙解决优化一下。

如下VBA代码 在EXCEL运行时非常慢,有哪位大侠能帮忙解决优化一下。
数据表在如下地址http://pan.baidu.com/s/1nt3eGQH

Sub 成品库存更新表编码自动填充()
Dim rs As Integer
rs = 3 '从第几行开始计算
Do Until Sheet11.Range("b" & rs) = ""
Range("m" & rs).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-11],编码对照!C[-10]:C[-7],4,0)"
rs = rs + 1
Loop
Sheet11.Range("m3:m" & rs).Select
Selection.Copy '复制选择单元格
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

参考技术A 就是去另外一个工作薄查询一下对应的编码写入而已,你这样写代码,整个过程不断来回操作两个工作薄,不慢才怪,
建议你用字典,一次读入整个编码对照工作表的相应列,之后,用数组存储对应的值,再写入这个工作表.
这样应该会快很多
参考技术B Range("m" & rs).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-11],编码对照!C[-10]:C[-7],4,0)"
前面两名改为
Range("m" & rs).FormulaR1C1 = "=VLOOKUP(RC[-11],编码对照!C[-10]:C[-7],4,0)"
然为可以关闭公式自动计算。应该很快的追问

运行了一下,还是比较忙,2秒才3个单元格的进度。

本回答被提问者采纳
参考技术C Do loop 那段应该用几行搞定,先确定区域,然后区域填充。你录制宏,自己改一下。

以上是关于哪位大侠给我讲讲c#中virtual, abstract和override的区别和用法,不胜感激,初学者,刚学这段,非常迷糊的主要内容,如果未能解决你的问题,请参考以下文章

怎么在LATEX里插图啊!!!哪位天才给咱讲讲吧~!!急!!谢谢了!!

哪位大侠以简单易懂的语言给我介绍下 WCF和WPF 分别是干啥用的?

哪位大蛱能给我讲讲java中severlet、modol、server、dao、数据库处理,这几层之间的联系啊?

谁能用语音给我讲讲c# wpf 中timer类的使用。新手,看不太懂msdn上那些。

最近使用EPPlus 3.1.3操作EXCEL文件的时提示Error saving file E:\\*** ;请哪位大侠帮忙指点下,谢谢!

麻烦哪位大侠告诉我,我的EXCEL怎么了!如下(由于安全级被设为高,并且没有附加数字签名的可信任证书,