C# 理解 abstract、virtual、override
2012-08-10 11:34
148 查看
abstract、virtual、override三个关键字涉及到继承,采用父亲和儿子类比。
abstract : 父亲告诉儿子,我只是声明要做这个事情,自己没有做,所以你必须去做这个事情。
virtual : 父亲告诉儿子三种情景,a) 这个事情我做了,如果你满意的话,就不需要做了,直接继承就好了;b) 这个事情我做了,如果你有些不满意,可以在我的基础上,修改一下(使用override重写);c) 这个事情我做了,如果你非常不满意,就自己重新做一遍吧(使用new 隐藏父亲的实现)。
override : 父亲使用virtual修饰方法,儿子对父亲做的事情不满意,在父亲的基础上,使用override 修改父亲的实现。如果孙子对儿子做的事情也不满意,在儿子的基础上,使用override再次修改儿子的实现。
abstract : 父亲告诉儿子,我只是声明要做这个事情,自己没有做,所以你必须去做这个事情。
virtual : 父亲告诉儿子三种情景,a) 这个事情我做了,如果你满意的话,就不需要做了,直接继承就好了;b) 这个事情我做了,如果你有些不满意,可以在我的基础上,修改一下(使用override重写);c) 这个事情我做了,如果你非常不满意,就自己重新做一遍吧(使用new 隐藏父亲的实现)。
override : 父亲使用virtual修饰方法,儿子对父亲做的事情不满意,在父亲的基础上,使用override 修改父亲的实现。如果孙子对儿子做的事情也不满意,在儿子的基础上,使用override再次修改儿子的实现。
相关文章推荐
- 我理解c#中的interface abstract virtual override和new
- 理解c#中的interface abstract virtual override和new(转)
- 我理解c#中的interface abstract virtual override和new(转)
- C#中的static,interface,virtual,abstract,override的用法
- c#中new和override的区别. virtual和abstract方法的区别.
- C# Keywords Series 8 interface&virtual&abstract&override&new
- C#中修饰符用法“virtual(虚拟函数)、override(函数复写)、static(静态函数)、abstract(抽象函数)、sealed(密封函数)”
- c#的new、abstract、virtual、override,sealed关键字区别
- C#中的static,interface,virtual,abstract,override的用法
- C#中修饰符用法“virtual(虚拟函数)、override(重载函数)、static(静态函数)、abstract(抽象函数)、sealed(密封函数)”
- C#中的static,interface,virtual,abstract,override的用法
- C#基础知识系列七(base、this、new、override、abstract、virtual、static)
- c#virtual,abstract,new,override
- c# 继承 和 关键字:abstract,const,override,readonly,static,virtual,base,this
- c#中的interface abstract virtual override和new
- C# new,Virtual,abstract,sealed,Override的簡單理解
- C#基础知识(base、this、new、override、abstract、virtual、static)
- C#中Abstract 、Virtual和Override的使用
- c#中abstract、override、new、virtual、sealed使用和示例