Swift的实例方法和类型方法之间的区别

时间:2015-02-16 23:10:06

标签: class swift

我是Swift编程的新手(我有HTML / CSS,JS,Jquery,PHP等网络语言经验)。我正在浏览Apple文档和各种在线资源,但我似乎无法找到我的问题的答案:实例方法和类中的类型方法有什么区别?

我理解写两者的语法,以及如何使用两者,但我不确定何时使用一个而不是另一个?你是否有理由在没有创建所述类的实例的情况下调用类中的方法?我在围绕一个人使用另一个人的实际例子时遇到了麻烦。

谢谢!

1 个答案:

答案 0 :(得分:1)

当您想要将某种功能连接到类而不强制客户端实例化该类时,以及当方法不依赖于特定对象的状态时,类方法很有用。

在面向对象的编程方法中,它们通常用于代替传统的实用程序样式函数,它们在不引用特定对象的情况下采用某种输入和返回输出,例如,带有类方法的HTTP路由系统&# 34;邮政"和"获取"将url和查询参数作为参数并将请求发送到服务器。这些函数适用于各种不同的类,并且不一定需要由底层实例变量表示。

它们还可用于包括两个对象属于同一类的比较函数。假设您正在尝试计算两个矩阵对象的点积 - 将一个对象作为比较另一个对象而不是相反的对象的基础是没有意义的 - 特别是因为计算点积对任何基础矩阵对象都没有影响。那么首选的解决方案是:

 class func dotProduct(a: Matrix, b: Matrix) -> Double