您的位置:首页 > 其它

Sealed,new,virtual,abstract与override的区别

2012-08-24 23:06 246 查看
1. Sealed:

a) 密封类不能被继承。

b) 密封方法可以重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或者属性时,sealed修饰符必须始终与Override一起使用。

2. New:

a) 显示隐藏从基类继承的成员。

3. Virtual:

a) 用于修改方法或者属性的说明,在这种情况下,方法或者属性被称作虚成员,虚成员的实现可由派生类的重写成员更改。---为了子孙后代。

4. Abstract:可以修饰类,方法,属性,索引器以及事件一起使用。

a) 抽象类的一些特点

i. 抽象类不能被实例化。

ii. 抽象类可以包括抽象方法或者抽象访问器。

iii. 不能用sealed修饰符修改抽象类,这意味着该类不能被继承。

iv. 从抽象类派生的非抽象类必须包括继承的所有的抽象方法或者抽象访问器的实现。

v. 在方法或者属性的声明中使用abstract修饰符以指示此方法或者属性不包含实现。

b) 抽象方法具有以下一些特点

i. 抽象方法是隐式的virtual方法

ii. 只允许在抽象类中使用抽象方法声明。

iii. 抽象方法不提供实际的实现,所以没有方法体。

iv. 实现由overriding方法提供,它是非抽象类的成员。

v. 不能结合static或者Virtual使用。

vi. 在派生类中,通过包括override修饰符的属性声明可以重写抽象的继承特性。

c) Override:修饰方法,属性,索引器或事件,主要提供派生类对基类方法的实现,覆盖上面的abstract,virtual两种关键字修饰的成员。

i. Override:好比不用祖宗的那一套,而且还自己创一套新功夫代替祖宗那一套。

ii. 和New的区别:

                  1. 用overrid修饰的基类方法必须是virtual或者抽象的,而new不必要。

                            2.用一个基类对象来访问基类的virtual方法,override方法会被访问到,而new重写的派生类的方法不会被访问到。

物流配货网-您身边的物流,配货,货运专家 http://www.wlphw.com/ 网站建设-网站制作-网店-商场网站-博客-论坛-企业展示网站-商品展示网站-企业网站-商品销售网站-产品展示网站-网络推广网站-等各类网站.QQ联系:471226865
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: