【发布时间】:2020-09-09 03:16:28
【问题描述】:
我在 XCode 中尝试了这个 Swift 代码。
File1.swift(非主文件):
class A {
fileprivate func myFun() {
print("A myFun")
}
}
class B: A {
override internal func myFun() {
super.myFun()
print("B myFun")
}
}
注意:
- “A”不提供对“myFun”的访问,以访问在 File1 之外创建的对象。
- “B”是 A 的子类,并使用内部访问说明符覆盖“myFun”。
main.swift
let s = B()
s.myFun()
输出:
我的乐趣
我的乐趣
程序以退出代码结束:0
注意:
- 我使用子类 (B) 来访问它不允许访问的超类 (A) 的一部分。
这种行为是有意的吗?如果是,那么这有什么用?
【问题讨论】:
标签: swift inheritance