gpt4 book ai didi

c# - 你什么时候、为什么要封课?

转载 作者:IT王子 更新时间:2023-10-29 03:39:15 29 4
gpt4 key购买 nike

在 C# 和 C++/CLI 中,关键字 sealed(或 VB 中的 NotInheritable)用于保护类免受任何继承机会(该类将是不可继承的) ).我知道面向对象编程的一个特性是继承,我觉得 sealed 的使用违背了这个特性,它停止了继承。是否有示例显示 sealed 的好处以及何时使用它很重要?

最佳答案

  1. 在实现安全功能的类上,这样就不能“模拟”原始对象。

  2. 更一般地说,我最近与 Microsoft 的一个人交流,他告诉我他们试图将继承限制在真正完全有意义的地方,因为如果不加以处理,它会在性能方面变得昂贵。
    sealed 关键字告诉 CLR 没有类进一步向下寻找方法,这加快了速度。

在当今市场上的大多数性能增强工具中,您会发现一个复选框,用于密封所有未继承的类。
不过要小心,因为如果您希望通过 MEF 允许插件或程序集发现,您将会遇到问题。

关于c# - 你什么时候、为什么要封课?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7777611/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com