问题标签 [sealed-class]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - 当抽象类的构造函数在 kotlin 中是私有的时会发生什么?
我不明白当抽象类的构造函数在 Kotlin 中是私有的时会发生什么。在这个例子中,我使用了一个密封类,默认情况下它有一个私有构造函数。但是,我可以从子类调用私有构造函数。
当您想使用构造函数实例化类时,不允许调用私有构造函数。但是,如果类是抽象的,那么构造函数是私有的还是公有的都没有关系,因为无法实例化该类。
你能澄清一下在抽象类上有一个私有构造函数是什么意思吗?
c# - 在 C# 中,是否可以模拟 IMessageReceiver 和相关类进行单元测试?
我有以下课程,我希望为其创建单元测试:
可以看出,它依赖于Microsoft.Azure.ServiceBus.Core.IMessageReceiver
.
我第一次尝试模拟这个是使用Moq
. 我本来希望如果我创建一个new Mock<IMessageReceiver>()
,我应该能够将它注入到public ServiceBusClient(IMessageReceiver messageReceiver, int maximumMessages)
中,但是编译器告诉我“错误 CS1503 参数 1:无法从 'Moq.Mock<Microsoft.Azure.ServiceBus.Core.IMessageReceiver>' 转换为'Microsoft.Azure.ServiceBus.Core.IMessageReceiver"....
然后我想我会尝试手动模拟这个类:
这将允许我成功提供消息,除了我提供的消息不包括 SystemProperties,因此 ServiceBusClient 将在lockTokens.Add(message.SystemProperties.LockToken)
.
事实证明,该Microsoft.Azure.ServiceBus.Message
实现不提供 setter for public SystemPropertiesCollection SystemProperties
,因此要设置它(除非有人有更好的方法),我需要创建自己的 Message 实现:
现在,我可以初始化 SystemPropertiesCollection,但问题是 SystemPropertiesCollection 中没有任何属性实际上包含设置,所以我的测试仍然会失败。
然后我想:让我们为“SystemPropertiesCollection”创建一个模拟(不要介意我们开始在“太多模拟”的危险水域中游泳......但是当我尝试扩展这个类时,我的编译器抱怨因为 SystemPropertiesCollection 是实际上是一个密封类,所以我不能扩展它。
所以,现在我回到第一方。
有什么想法可以为 ServiceBusClient 创建好的单元测试吗?
android - 使用 rxjava 中的密封类处理 api 响应
我想使用密封类处理 api 响应
我的 api 正常工作
当我将我的 api 更新为
无法调用没有参数的私有 com.utils.Result()
我怎样才能实现响应
在哪里订阅OnIO
kotlin - 相同类的 Kotlin 密封类
KorGE 游戏库示例游戏 (CounterStrike) 具有以下构造:
我正在努力理解结果(整体)对象实际上是什么。结果对象实际上占用了七个 SideEffect 类的空间,还是一个?(或者,如果除了名称之外所有类都相同,这是一个棘手的问题)?
kotlin - 我需要一个嵌套的密封类吗?
在我的示例密封类方面需要帮助
我希望能够将 Int 或 String 分配给id。我需要另一个密封类吗?
所以我可以像使用它一样
java - 用非密封类扩展密封类有什么意义?
我真的不明白为什么non-sealed
在 JEP 360/Java 15 中有一个关键字。对我来说,密封类的扩展应该只是 final 或密封类本身。
提供“非密封”关键字将邀请开发人员进行黑客攻击。为什么我们允许将密封类扩展到非密封类?
android - Firebase:如何检查文档写入是否成功
我想检查我的数据库写入是否成功,以便向用户显示错误消息。
我目前的方法不起作用,因为它说“类型不匹配,找到所需的单元 EmailStatus”
目前的方法
状态密封类
甚至可以写这样的东西吗?据我所知,有一个通用的firebase error type
,但我没有发现任何与 kotlin 或 android 相关的东西......
我感谢每一个帮助,谢谢
编辑
我已经尝试获取我的文档,但我只是得到空值:(当我使用侦听器方法时,一切正常)
界面
接口实现
视图模型
java - JDK 15 Sealed Classes - 如何跨包使用?
我有一个简单的密封类,MyShape
:
还有一个简单的子类MyCircle
:
当两个类都在同一个包中时,一切都可以编译和工作。如果我将 MyCircle 移动到子包中,则构建会中断:java: class is not allowed to extend sealed class: org.example.MyShape
。
我对JDK 15 文档的理解是这应该有效。我错过了一步吗?
如果您想进行实验,我已经创建了一个 GitHub 存储库。
java - Java 15 的密封类功能中的最终类和非密封类有什么区别?
我有以下密封接口(Java 15):
该接口由 2 个类实现:
谁能告诉我和之间的final
区别non-sealed
?final
阻止我创建其他子类,但non-sealed
适用于什么行为Duck
?
java - Java中密封类和最终类之间的区别
我刚刚读到 Java 15 应该有sealed
类。
jep360说:
密封的类和接口限制了哪些其他类或接口可以扩展或实现它们。
我认为这正是 afinal class
在 Java 中所做的。final class
所以现在我想知道: a和 a 有什么区别sealed class
?