gpt4 book ai didi

swift - 协议(protocol)方法中的返回类型协变

转载 作者:IT王子 更新时间:2023-10-29 05:21:57 25 4
gpt4 key购买 nike

<分区>

为什么 swift 不支持在协议(protocol)中定义的方法中的返回类型协变?例如

class Base { }

class Derived : Base { }

protocol Requirement {
var someVariable : Base { get }
}

struct MyStruct : Requirement{
let someVariable : Derived
}

编译器抛出 MyStruct 不符合协议(protocol)要求的错误。据我所知,MyStruct 满足 LSP 的所有要求,所以我想知道为什么这在 Swift 中是不允许的?

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