奥东......C# Base Coding
参考文章:
http://www.cnblogs.com/wang7/archive/2012/04/17/2453624.html
1 C#的virtual & abstract
a) virtual修饰的方法必须有方法实现也就是方法体(哪怕只有一对大括号),abstract修饰的方法不能有实现。
b) virtual可以被子类重写,abstract必须被子类重写
c) 如果类中的某一函数被abstact修饰,则类名也必须用abstact修饰
d) Abstract修饰的类不能被创建实例。只能够被继承
e) C#中如果准备在子类重写父类的方法,则该方法在父类中必须用virtual修饰,在子类中必须用overide修饰,避免了程序员在子类中不小心重写了父类父类方法
f) virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义。
如果用来修饰方法,前面必须添加public,要不然就会出现编译错误:虚拟方法或抽象方法是不能私有的。毕竟加上virtual或abstract就是让子类重新定义的,而private成员是不能被子类访问的。
g) java中没有Virtual,这里我把它看做是interface和abstract中的一个过渡