受保护的构造函数有哪些实际用途?

2024-02-13

为什么有人会声明构造函数受保护?我知道构造函数被声明为私有,目的是不允许它们在堆栈上创建。


当一个类是(旨在作为)抽象类时,受保护的构造函数是完全正确的。在这种情况下,您不希望从类实例化对象,而只想使用它来继承。

还有其他用例,例如某些构造参数集应仅限于派生类。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

受保护的构造函数有哪些实际用途? 的相关文章

  • C# 异步任务比同步慢

    你知道为什么同步斐波那契方法比异步 等待更快并且比异步任务更快吗 我在每个项目方法上都使用了异步 所以主要是这是一个非常糟糕的方法 Code static int FibonacciSync int number if number 0 r
  • 如果在构造函数中使用 super 调用重写方法会发生什么

    有两个班级Super1 and Sub1 超1级 public class Super1 Super1 this printThree public void printThree System out println Print Thre
  • Winform DatagridView 数字列排序

    我只使用一个简单的 DataGridView 来保存一堆数据 有趣的是 我在特定列中有小数 但是当按小数列排序时 它的排序是错误的 例如 起始顺序可能是 0 56 3 45 500 89 20078 90 1 56 100 29 2 39
  • 预编译头和 Visual Studio

    有没有办法设置 Visual Studio 解决方案参数 以便它只创建预编译头而不构建整个解决方案 具体来说 它是一个巨大的 C 解决方案 本身有许多项目 谢谢 仅选择 pch 创建者源文件 通常是 stdafx cpp 然后编译该文件 C
  • 在 .NET Core 中从 HttpResponseMessage 转换为 IActionResult

    我正在将之前在 NET Framework 中编写的一些代码移植到 NET Core 我有这样的事情 HttpResponseMessage result await client SendAync request if result St
  • 如何使用 CUDA/Thrust 对两个数组/向量根据其中一个数组中的值进行排序

    这是一个关于编程的概念问题 总而言之 我有两个数组 向量 我需要对一个数组 向量进行排序 并将更改传播到另一个数组 向量中 这样 如果我对 arrayOne 进行排序 则对于排序中的每个交换 arrayTwo 也会发生同样的情况 现在 我知
  • 如何在 C++ 运行时更改 QML 对象的属性?

    我想在运行时更改 QML 对象的文本 我尝试如下 但文本仍然为空 这是后端类 class BackEnd public QObject Q OBJECT Q PROPERTY QString userFieldText READ userF
  • 查找方法不适用于 EF6.1 模拟

    我已经使用这些 msdn 指南设置了模拟 使用模拟框架进行测试 EF6 及以上 http msdn microsoft com en us data dn314429 var bsAc db BusAcnts FirstOrDefault
  • ASP.net WebForms - 在标记中使用 GetRouteUrl

    我一直在尝试弄清楚如何将路由功能与 ASP net 4 0 WebForms 一起使用 我将一条路线添加到我的路线集合中 void Application Start RegisterRoutes RouteTable Routes voi
  • 使用 dateTimePicker 在 DataGridView 中编辑日期

    我有一个DateTime我的 WinForms 中的专栏DataGridView 目前只能通过手动输入日期来编辑该字段 例如 2010 09 02 需要什么才能拥有一个DateTimePicker 或同等 用作编辑器 DataGridVie
  • 调试错误:在 vc++ 项目中使用 COM 时发生 所需的运行时?

    我为我的工作创建了一个 COM 组件 我也注册了该组件 在我的系统上 我有两个虚拟机工作站 在我的第一个工作站中 它运行良好 在我的第二个工作站中 它显示一个包含消息的错误框该程序需要一段时间并以不寻常的方式关闭 请联系应用程序管理员 我认
  • 如何释放字符串未使用的容量

    我正在程序中处理很多字符串 这些字符串数据在读入我的程序后的整个生命周期内都不会改变 但由于 C 字符串保留了容量 因此浪费了大量肯定不会被使用的空间 我尝试释放这些空间 但没有成功 以下是我尝试过的简单代码 string temp 123
  • 如果仅使用第一个元素,是否必须为整个结构分配内存?

    我有一个结构 其中第一个元素被测试 并且根据其值 结构的其余部分将被读取或不会被读取 在第一个元素的值指示结构的其余部分不会被读取的情况下 我是否必须为整个结构或仅第一个元素分配足够的内存 struct element int x int
  • 如何通过代理将套接字连接到http服务器?

    最近 我使用 C 语言编写了一个程序 用于连接到本地运行的 HTTP 服务器 从而向该服务器发出请求 这对我来说效果很好 之后 我尝试使用相同的代码连接到网络上的另一台服务器 例如 www google com 但我无法连接并从网络中的代理
  • Unity - 在生成时获取随机颜色

    我有一个小问题 我想在我的场景中生成四边形 它们都应该有红色或绿色作为材质 但 Random Range 函数只能是 int 我该如何解决它 void SpawningSquadsRnd rndColor 0 Color red rndCo
  • C# PasswordDeriveBytes:似乎 Salt 并不重要

    可能我误解了什么 以下代码通过 CryptDeriveKey 使用两种不同的盐生成两个相等的密钥 这是控制台结果 盐1 21 3e 18 a3 9a 8b 5f gt 键 da 89 ea 3d 91 08 20 98 20 e9 dc 4
  • Asp.Net Core 中的 SSL 不起作用

    我从 Visual Studio 创建了一个简单的 Web 应用程序Web Application Net Core 具有个人用户帐户授权的模板 然后 我启用了 SSLProject gt MyProject Properties 将带有
  • 在 LP2844Z(Zebra 打印机)上的收据中包含 PNG [重复]

    这个问题在这里已经有答案了 我正在致力于创建一个基于 HTML5 画布的签名 绘图框 目前我们在服务器上将画布保存为PNG 但可以轻松地将base64字符串保存在数据库中 现在的问题是我们如何在打印的收据上添加签名 目前我们使用 GF 字段
  • 创建进程默认浏览器

    我目前正在使用 ShellExecute 打开 在用户浏览器中打开 URL 但在 Win7 和 Vista 中遇到了一些麻烦 因为该程序作为服务运行提升 我想获取线程 id 因此 ShellExecute 无法获取线程 id 因此我开始使用
  • 如何根据当前日期时间发现财政年度?

    我需要基于当前或今天的日期时间的财政年度 假设我们认为今天的日期是10 April 2011 那么我需要输出为Financial Year 2012在某些情况下 我需要以短格式显示相同的输出FY12 我想以两种方式显示 在我们的要求中 考虑

随机推荐

  • FBSDKLoginManager:体系结构 x86_64 + 链接器命令未定义符号失败,退出代码为 1

    我刚刚将 Facebook iOS SDK 升级到 v 4 0 1 并收到以下错误 Undefined symbols for architecture x86 64 OBJC CLASS FBSDKLoginManager referen
  • 我应该如何命名这个方法? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 PermGen 的默认大小这么小?

    限制 Java JVM 上 Permgen 空间大小的目的是什么 为什么不总是将其设置为等于最大堆大小 为什么Java默认为64MB这么小 他们是否试图通过这样做迫使人们注意到代码中的永久问题 如果我的应用程序使用 85MB 的 permg
  • 同一包中的 @Around @Aspect 只能与 @DependsOn 一起使用

    请参阅下面的更新 我有一个 Spring Boot 应用程序 我接受 TCP IP 连接 public MyClass implements InitializingBean Override public void afterProper
  • 如何从 TFS 构建过程将参数传递给 PowerShell 脚本?

    我创建了一个小 PowerShell 脚本来更改 web config 中的连接字符串 param string webConfigPath string connectionStringName string connectionStri
  • NG-bootstrap 模态组件无提供程序错误

    我是 Angular 2 的 ng bootstrap 库 我特别关注的是 组件作为内容 https ng bootstrap github io components modal 我尝试将示例代码合并到我的项目中 但收效甚微 我从浏览器调
  • 如何在Javascript中延迟setInterval?

    我现在在 JavaScript 中反复遇到一个奇怪的问题 我似乎无法拖延setInterval longer 发生情况的一个小例子 var loop var count loop setInterval start 30 function
  • Gedmo Tree getPath 错误:节点与此存储库不相关 500 内部服务器错误 - InvalidArgumentException

    我收到错误 Node is not related to this repository 500 Internal Server Error InvalidArgumentException 更新1 如果我设置树并不重要具有特征的存储库 h
  • 将 MediaPicker 添加到常规站点设置

    我当前正在进行的项目正在利用租户站点 对于每个站点 我们希望能够通过修改其设置 在管理页面上 设置 gt 常规 来更改整个租户站点的徽标 我通过以下方式向站点设置添加了两个文本字段这个有据可查的教程 http docs orchardpro
  • 使用 ListView 的拖放功能来创建库存 UI

    我想使用 ListView 为我的游戏创建一个库存 UI 其中可以通过在关卡中拖放项目来将其从库存中删除 如果某个物品没有正确放置 仍在物品栏内 则应将其放回拖动前的位置 我有以下代码 但即使在查看了之后我也不知道如何实现我想要的拖放示例
  • Scala 协方差和下类型界解释

    我正在尝试了解使用下界创建新的不可变类型的方法的协方差 class ImmutableArray T item T existing List T Nil private val items item existing def append
  • Python Opencv自定义控制(增加/减少)视频播放速度

    我正在编写一个程序来控制视频播放速度为自定义速率 有办法实现这一点吗 应该添加什么代码来控制播放速度 import cv2 cap cv2 VideoCapture video mp4 while cap isOpened ret fram
  • MySQL UPSERT 没有 ON DUPLICATE KEY

    我想要一个UPSERT UPDATE如果存在 则插入 在具有以下字段的 MySQL 表上 CREATE TABLE item uid int 11 NOT NULL AUTO INCREMENT timestamp int 11 NOT N
  • 系统.data.sqlite.net 4

    System Data SQLite 是否有 Net 4 版本 目前我收到此错误 混合模式程序集是针对运行时版本 v2 0 50727 构建的 如果没有附加配置信息 则无法在 4 0 运行时中加载 需要什么 附加配置信息 或者是否有我可以使
  • 如何在Chrome扩展中获取剪贴板数据?

    我很难找到有关如何在 Chrome 扩展程序中添加 Ctrl C 监听器 获取剪贴板数据 然后写回剪贴板的最新信息 我发现的所有旧代码都是针对现已弃用的旧版本 基本上你可以使用操作剪贴板document execCommand paste
  • Spring中@Configuration和@Component有什么区别?

    ComponentScan使用两者创建bean Configuration and Component 交换时这两个注释都可以正常工作 那有什么区别呢 Configuration 表示一个类声明一个或多个 Bean 方法并且可以被Sprin
  • 启动作业中的“启动进程-NoNewWindow”?

    我在启动作业中使用启动进程时遇到问题 特别是在使用时 NoNewWindow 例如这个测试代码 Start Job scriptblock Start Process cmd NoNewWindow Wait ArgumentList c
  • 扫描代码注释并转换为标准格式的工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个 C 项目 该项目有许多不同的作者和许多不同的文档风格 我是以下的忠实粉丝doxygen
  • 通过 Nginx、Django 提供 206 字节范围服务

    我让 Nginx 为我的静态 Django 文件提供服务 该文件在 Gunicorn 上运行 我正在尝试提供 MP3 文件并让它们具有头部 206 以便 Apple 接受它们用于播客 目前 音频文件位于我的静态目录中 并直接通过 Nginx
  • 受保护的构造函数有哪些实际用途?

    为什么有人会声明构造函数受保护 我知道构造函数被声明为私有 目的是不允许它们在堆栈上创建 当一个类是 旨在作为 抽象类时 受保护的构造函数是完全正确的 在这种情况下 您不希望从类实例化对象 而只想使用它来继承 还有其他用例 例如某些构造参数