返回对象比原始类型有什么好处?

时间:2016-02-09 04:56:33

标签: swift

使用第二种方法有什么好处,因为两者都能正确执行相同的操作?

导入UIKit

class MathOperation: NSObject
{
    var num: Double = 0
    func add(a:MathOperation)->Double
    {
      num = num + a.num
        let result = num
        return result
    }
    func add2(a:MathOperation)->MathOperation
    {
        let result = MathOperation()
        result.num = num + a.num
        return result
    }

}

1 个答案:

答案 0 :(得分:1)

我认为add2遵循"构建器模式"并允许一个流畅的界面"用方法链接:

let result = someInput.add(someThingElse).square().multiply(three)

num字段应该是常量(let)。否则,您无法安全地传递这些MathOperation实例(有人可能会更改其值)。

并且MathOperation应该包含的不仅仅是一个数字,否则该类有点无意义,可以直接使用Double。我想它可能会记住构造它的操作顺序,因此它可以打印一个像"(1 + 3)^ 2"描述自己。