用sealed修饰的类有什么特点,有人知道吗?_3310字

    话题:委托加上sealed关键字有什么作用?

    问题:书上泛型委托有个例子:publicsealeddelegatevoidEventHandler(objectsender,TEventArgse)whereTEventArgs:EventArgs;怎么可以加sealed?编译也提示:修饰符“sealed”对该项无效http://book.csdn.net/bookfiles/829/10082925362.shtml

    推荐回答:书上写的不对,这样编译都通不过,sealed关键字是修饰类和方法的,使得该类不能被继承或该方法不可以被重写,委托和泛型委托都不可以用密封修饰

    话题:final修饰的类有什么特点

    推荐回答:final修饰的类不能被继承。Sting就是一个被final修饰的类,我们只能用,不用继承final不仅可以修饰类,还可以修饰变量,被final修饰的变量就是一个常量,只能赋值一次注意final和finally的区别,final是修饰类或者变量,finally是在异常处理中使用,如:try{}catch(){}finally{}中,finally的作用一般用于必须处理的事情,如关闭连接

    话题:sealed 修饰符是干什么的?

    推荐回答:同时使用,因为这两个修饰符在含义上互相排斥用于方法和属性时,表示该方法或属性不能再被重写,必须和override关键字一起使用,因为使用sealed修饰符的方法或属性肯定是基类中相应的虚成员通常用于实现第三方类库时不想被客户端继承,或用于没有必要再继承的类以防止滥用继承造成层次结构体系混乱恰当的利用

    话题:使用sealed,virtual,override,abstract修饰的类有什么特点

    推荐回答:1.sealed——“断子绝孙”密封类不能被继承。密封方法可以重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或属性时,sealed修饰符必须始终与override一起使用。即:密封类不会有子类,所以是“断子绝孙”。2.new——“你是我的,我是我的”new关键字用于显式隐藏从基类继承的成员。也就是在使用派生类时调用的方式方法是new关键字新定义出来的方法,而不是基类的方法。在不使用new修饰符的情况下隐藏成员是允许的,但会生成警告。使用new显式隐藏成员会取消此警告,并使用派生类新定义的方法。即:好比是不用祖宗的东西,而是用自己创造(new)的东西。3.virtual——“为了子孙后代”virtual关键字用于修改方法或属性的声明,在这种情况下,方法或属性被称做虚成员。虚成员的实现可由派生类中的重写成员更改。调用虚方法时,将为重写成员检查该对象的运行时类型。将调用大部分派生类中的该重写成员,如果没有派生类重写该成员,则它可能是原始成员。在默认情况下,方式是非虚拟的。非虚方法不能重写。不能将virtual修饰符与一下修饰符一起使用:static、abstract和override。除了声明和调用语法不同外,虚拟属性的行为与抽象方法一样。在静态属性上使用virtual修饰符是错误的。通过override修饰符的属性声明,在派生类中重写虚拟继承属性。即:virtual是为了让子孙后代可以实现各自的梦想而做的。4.abstract——“我是上帝”abstract修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用abstract修饰符,以指示该类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。抽象类具有以下特性:抽象类不能实例化。抽象类可以包含抽象方法和抽象访问器。不能用sealed修饰符修改抽象类,这意味着该类不能被继承。从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实现。在方法或属性声明中使用abstract修饰符以指示此方法或属性不包含实现。抽象方法具有以下特性:抽象方法是隐式的virtual方法。只允许在抽象类使用抽象方法声明。抽象方法声明不提供实际的实现,所以没有方法体;方法声明只是以一个分号结束,并且在结束后没有花括号。实现由override方法提供,它是非抽象类的成员。在抽象方法声明中使用static或virtual修饰符是错误的。除了在声明和调用语法上不同外,抽象属性的行为与抽象方法一样。在静态属性上使用abstract修饰符是错误的。在派生类中,通过包括使用override修饰符的属性声明可以重写抽象的基础属性。即:abstract是一种抽象,好比上帝,是人们对神的抽象,看似什么都能干,其实什么都干不了。5.override——“一手遮天”使用override修饰符来修改方法、属性、索引器或事件。主要是提供派生类对基类方法的新实现。覆盖上面abstract、virtual两种关键字修饰的成员。由重写声明重写的方法称为重写基方法。重写基方法必须与重写方法具有相同的签名。重写基方法必须是虚拟的、抽象或重写的。不能重写非虚方法或静态方法。不能使用下列修饰符修改重写方法:new、static、virtual和abstract。重写属性声明必须指定与继承属性完全相同的访问修饰符、类型和名称,并且重写属性必须是虚拟的、抽象的或重写的。即:override好比不但不用祖宗的那套,而且还自己创一套新功夫代替祖宗那套。

    话题:用sealed修饰的类有什么特点?

    问题:用sealed修饰的类有什么特点

    推荐回答:sealed修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。密封类不能同时为抽象类。sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。


关键字词



内容版权声明:除非注明,否则皆为苏州seo公司原创文章,公司提供

转载注明出处:http://www.ruheseo.com/peixun/10315.html