c# - 防止从c#中的字符串类继承的原因是什么?
问题描述
我读了一些文章,但其中大部分都是抽象的,我无法回答我的问题。我知道抽象类和密封类之间的区别。但是当我的讲师解释他在 c# 中所说的区别时,当您想让一些开发人员遵循您的设计时,您需要使用抽象类,这可以为您的代码提供一些安全性并提供示例和我理解他的意思,但是当他解释密封类时,他说我们不能从字符串类继承,因为它是密封类。所以这是使用密封类并且没有给出原因。
解决方案
String 被密封的一个充分理由是 String 是一个性能关键类,因为大多数程序都大量使用它。因此,它进行了大量优化。虚拟方法调用有一些额外的开销,因为它必须在运行时确定实际调用哪个方法、基类型方法或某些覆盖。
推荐阅读
- macos - 来自电子的通知显示 electron.app.Electron
- python - 获取列表中每个变量的名称并转换为字符串
- html - 即使在 HTML 中使用 required 属性后也无法对齐文本
- javascript - Bootstrap 5 选项卡内容未显示在 OwlCarousel2 项目中
- php - WordPress 如何对搜索到的 URL 进行编码
- mysql - 是否只有在where子句中有主键时才允许删除查询?
- javascript - 构建一个从 MongoDB 中提取数据的表,该表实时过滤并按字母顺序排序
- django - 如果我不在 django 中使用任何身份验证并使用带有手动哈希密码的 django 查询过滤器登录用户,我会错过什么
- android - 如何在 Flutter 和 Dart 中使用 DropDown 从另一个 Widget 更新一个 Widget?
- sql - Oracle APEX Application Builder:搜索特定员工并在硬编码文本字段中返回他们的姓名、薪水和部门