有没有哪位高手,在实际项目中恰当的使用过抽象类,抽象类究竟有何实用性??在继承体系中,abstract方法和virtual方法有何区别?? 笑嘻嘻 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/csref/html/vclrfCSharpKeywords_PG.htm virtual方法是为了子类override的,如果问也应该问抽象类和接口的区别,他们最大的区别就是一个类可以实现无数个接口,但只能从一个抽象类继承。项目中常用接口。 abstract可以看成是一种virtual方法,因为它是纯虚的方法,没有实现的代码,只有方法头。子类必须实现父类abstract方法,否则子类还将是抽象类,抽象类是不能被实例化的。virtual方法不一定要去override它。 抽象类不能被实例化, 而一般的基类, 若不是抽象的, 则可以实例化.abstract方法和virtual方法的区别:基类不能实现抽象方法, 只能由子类实现.虚方法在基类中有实现, 子类若覆盖之, 则用子类的实现, 否则用基类的实现. 抽象类和接口的存在是为了实现程序依赖于抽象而不是具体override和virtual可以算是实现多态的一种途径抽象类只能单继承,接口可以多继承;抽象类可以做必要的初始化等工作(方法不必完全是abstract的),接口只有申明;当需要一个体系(系统)时,抽象类用来作基类,当需要时向某种方法时,这种方法有可能在不同的体系中用到,就用接口;区别还有很多,不列了 virtual子类可以重写abstract子类必须重写 请教一下使用泛型的问题.(我是小白) c# 如何使用WinAPI 拦截其它窗口大化改成其他操作 如何实现google桌面搜索结果的远程访问 本人学C#,有很多问题想马上解决,所以想问一下,哪里有C#的QQ论坛啊 ? asp.net 中怎样把string值转换当作变量名进行操作? 关于treeview的undefined问题 讨论:浏览器能访问,软件获取不到源码 关于菜单 企业库 Enterprise Library 2.0的问题 C#中变量的作用域以及持续周期 求一抽奖算法,大家给点思路! 无法访问名为“System.Net.Sockets.NetworkStream”的已处置对象。
基类不能实现抽象方法, 只能由子类实现.
虚方法在基类中有实现, 子类若覆盖之, 则用子类的实现, 否则用基类的实现.
override和virtual可以算是实现多态的一种途径抽象类只能单继承,接口可以多继承;抽象类可以做必要的初始化等工作(方法不必完全是abstract的),接口只有申明;当需要一个体系(系统)时,抽象类用来作基类,当需要时向某种方法时,这种方法有可能在不同的体系中用到,就用接口;区别还有很多,不列了
子类可以重写
abstract
子类必须重写