A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吃肉的小浣熊 中级黑马   /  2013-6-9 21:07  /  3284 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

sealed 修饰符有什么特点?与 override之间有关系吗?

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

6 个回复

倒序浏览
本帖最后由 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.     //}
复制代码

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
sealed 就是用来修饰为不可继承的类...override 是用来重载

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
override修饰符是在扩充类中重写基类的被虚拟的方法。sealed关键字是用来声明密封类的,不能被其他类继承,更不能被扩充类中的override重写。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
1.C#提出了一个密封类(sealed class)的概念,帮助开发人员来解决这一问题。2. 密封类在声明中使用sealed 修饰符,这样就可以防止该类被其它类继承。如果试图将一个密封类作为其它类的基类,C#将提示出错。3.理所当然,密封类不能同时又是抽象类,因为抽象总是希望被继承的。 4.sealed 修饰符可以应用于类、实例方法和属性。5.密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。6.当应用于方法或属性时,sealed 修饰符必须始终与 override 一起使用。
回复 使用道具 举报
sealed是密闭类,和override没有关系,override是重写关键字,因为是密闭类所以不能被继承,可以理解为不可能有后代的类,其他和普通的类都一样了
回复 使用道具 举报
sealed 修饰符可以应用于类、实例方法和属性。
密封类不能被继承。密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写。
当应用于方法或属性时,sealed 修饰符必须始终与 override(C# 参考)一起使用。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马