【发布时间】:2021-12-01 12:03:38
【问题描述】:
我有一堂课:
internal class A {
}
我还有一门课:
open class B: A {
}
我真的需要B 成为open,但是为了编译这段代码,我必须打开A,但是打开A open 也使它成为public 而我没有不想那样。
你觉得有什么办法可以让internal open上课吗?
【问题讨论】:
-
也许使用
protocol一致性和组合或委托 -
是的……真是个泡菜……
-
@IsaaсWeisberg 你可以创建
Apublic,并添加一个internalinit,然后添加一个public一个标记为不可用。那么A是可见的,但是不能从外部创建它的实例。 -
@George 哦,这是一个解决方案,谢谢
-
虽然我赞成你自己的答案 - 你有没有机会在你的问题中提供更多细节?严重的是,它缺少为什么需要这种类型的代码设计。
标签: swift class inheritance module access-modifiers