gpt4 book ai didi

ios - 面向协议(protocol)编程

转载 作者:IT王子 更新时间:2023-10-29 05:50:36 26 4
gpt4 key购买 nike

当我们将大脑从面向对象编程转变为面向协议(protocol)编程时,我该如何做以下事情?

假设我有一个 JSON 对象,表示 Model 具有 {created_time,updated_time,type,...} 并且这些值在 5 个 Model 对象中很常见。

使协议(protocol)包含以下所有上述属性是否正确

protocol xxx {
var type : String { get }
var updatedTime : String { get }
var createdTime : String { get }
//...//
}

然后所有5个结构都符合这个协议(protocol)

最佳答案

我会说这是一个非常好的解决方案。另一种方法是拥有一个具有这些属性的基类,并让所有五个模型都继承自该基类,但没有特别的理由在这里使用继承。

协议(protocol)只是保证类具有特定属性或行为的“契约”。对我来说,你这里的例子感觉非常“契约”。

相比之下,继承意味着“is-a”关系(例如,福特是汽车)。对我来说,这更像是一份契约(Contract),而不是一个"is"的案例。当然,这两种选择都没有错,但是觉得你这里的协议(protocol)思路不错。

关于ios - 面向协议(protocol)编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31943801/

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