黑马程序员技术交流社区

标题: sealed 修饰符有什么特点? [打印本页]

作者: 吃肉的小浣熊    时间: 2013-6-9 21:07
标题: sealed 修饰符有什么特点?
sealed 修饰符有什么特点?与 override之间有关系吗?
作者: zpzhangwenhan    时间: 2013-6-9 21:34
本帖最后由 zpzhangwenhan 于 2013-6-9 21:36 编辑

sealed是密闭类,因为是密闭类所以不能被继承,可以理解为不可能有后代的类(太监类),其他和普通的类都一样了
和override没有关系,override是重写关键字,一般和abstract(抽象类)一起用
用于重写父类中的abstract方法或virtual方法或是用override关键字修饰的方法
三种情况可以重写:三种关键字用virtual、abstract、override修饰的方法在继承后子类可以重写
  1. //sealed密闭类 可以继承但不能被继承(它没有后代,别的类不能继承它,主要基于安全考虑)
  2.     sealed class B
  3.     {
  4.     }
  5.     //class C : B  //错误,直接编译通不过
  6.     //{
  7.     //}
复制代码

作者: 一直在努力    时间: 2013-6-9 21:51
sealed 就是用来修饰为不可继承的类...override 是用来重载
作者: 李晶晶    时间: 2013-6-9 22:29
override修饰符是在扩充类中重写基类的被虚拟的方法。sealed关键字是用来声明密封类的,不能被其他类继承,更不能被扩充类中的override重写。
作者: 喻志涌    时间: 2013-6-9 23:42
1.C#提出了一个密封类(sealed class)的概念,帮助开发人员来解决这一问题。2. 密封类在声明中使用sealed 修饰符,这样就可以防止该类被其它类继承。如果试图将一个密封类作为其它类的基类,C#将提示出错。3.理所当然,密封类不能同时又是抽象类,因为抽象总是希望被继承的。 4.sealed 修饰符可以应用于类、实例方法和属性。5.密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。6.当应用于方法或属性时,sealed 修饰符必须始终与 override 一起使用。
作者: popoluno    时间: 2013-6-10 10:13
sealed是密闭类,和override没有关系,override是重写关键字,因为是密闭类所以不能被继承,可以理解为不可能有后代的类,其他和普通的类都一样了

作者: 甘斌斌    时间: 2013-6-11 21:21
sealed 修饰符可以应用于类、实例方法和属性。
密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。
当应用于方法或属性时,sealed 修饰符必须始终与 override(C# 参考)一起使用。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2