gpt4 book ai didi

Swift 中的继承和扩展

转载 作者:搜寻专家 更新时间:2023-10-31 19:35:28 25 4
gpt4 key购买 nike

怎么做inheritanceextensions在 Swift 中交互?更详细地说,为父类(super class)定义的扩展是否自动可用于子类?在那种情况下,是否存在差异问题(例如,如果扩展类型在扩展中显示为返回类型)?

最佳答案

继承和扩展如您所料相互作用。给定两个类 FooBar这样 Bar <: Foo , Foo 中可用的方法和 Foo 的扩展对 Bar 可用。至于方差问题,子类可能会覆盖方法并提供更具体的返回类型。例如这里是Bar重写 baz具有协变类型

class Foo { 
func baz() -> Foo {
return Foo()
}
}

class Bar : Foo {
override func baz() -> Bar {
return Bar()
}
}

扩展中的方法还不能被覆盖,但同样的原则适用。

关于Swift 中的继承和扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26672847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com