当前位置:  开发笔记 > 编程语言 > 正文

为什么要阻止类被子类化?

如何解决《为什么要阻止类被子类化?》经验,为你挑选了3个好方法。

什么可以成为阻止类继承的原因?(例如使用密封的ac#class)现在我想不出任何.



1> DrPizza..:

因为编写类可以被替代地扩展是非常困难的,并且需要您准确预测未来用户将如何扩展您所编写的内容.

密封你的类迫使他们使用更强大的组合.



2> OysterD..:

如果您还不确定界面,并且根据当前界面不需要任何其他代码,那怎么样?[这不是我的头脑,但我也会对其他原因感兴趣!]

编辑:一些谷歌搜索给出了以下内容:http: //codebetter.com/blogs/patricksmacchia/archive/2008/01/05/rambling-on-the-sealed-keyword.aspx

引用:

密封类比未密封类更好的原因有三个:

版本控制:当一个类最初被密封时,它可以在将来更改为未密封而不会破坏兼容性.(......)

性能:(...)如果JIT编译器看到使用密封类型调用虚方法,JIT编译器可以通过非虚拟地调用该方法来生成更高效的代码.(...)

安全性和可预测性:一个类必须保护自己的状态,不允许自己被破坏.当一个类被解封时,如果内部操作字段的任何数据字段或方法是可访问的而不是私有的,派生类可以访问和操作基类的状态.(...)



3> popopome..:

我想从"代码完成"中给你这条消息:

继承 - 子类 - 倾向于违背您作为程序员的主要技术要求,即管理复杂性.为了控制复杂性,您应该保持对继承的严重偏见.

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有