virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义。
区别很大。(virtual是“虚拟的”,abstract是“抽象的").
(1)virtual修饰的方法必须有实现(哪怕是仅仅添加一对大括号),而abstract修饰的方法一定不能实现。如对于virtual修饰的方法如果没有实现:
(2)virtual可以被子类重写,而abstract必须被子类重写
(3)如果类成员被abstract修饰,则该类前必须添加abstract,因为只有抽象类才可以有抽象方法。
(4)abstract类无法创建实例,只能被继承无法实例化
(5)abstract 与virtual : 方法重写时都使用 override 关键
总结他人,请指正。