【发布时间】:2016-12-24 02:53:21
【问题描述】:
B 类是 A 类的子类(B : A)
我将类初始化为B.init()
在 A 中调用时,除非我使用强制转换,否则永远不会调用被覆盖的 method():
class A {
...
self.method() //A method called
(self as! B).method() //B method called
}
为什么?
由于我将实例初始化为 B,我希望它调用被覆盖的方法,但事实并非如此,除非我使用强制转换。
【问题讨论】:
-
我认为发生的事情从您发布的内容中并不明显。在最简单的情况下,会调用 B 方法。
-
谁提到了扩展?
标签: swift