首页 > 在Obj-C中实例方法和类方法的区别是什么?

在Obj-C中实例方法和类方法的区别是什么?

实例方法,即需要实例化对象调用的方法。
类方法,即类直接调用的方法。

我不明白什么场合用类方法,什么场合用实例方法。两者相比较真正的优势和劣势又是什么?


优势和劣势这种说法应该不存在吧。

- (NSString *)getCertainString
{
    return @"The string."
}

这种鬼你写成实例方法也行,但是不仅每次调用得实例化/释放一个,对代码阅读还有影响。


方法之间并没有什么优劣之分,只是为了使用方便.如果非要区分,下面应该算是一点

类方法的劣势:在类方法中,self 表示类,而不是类对象,所以在类方法中你没办法用self.调用属性,也没办法调用本类的实例方法.
类方法的优势:调用简单,不需要创建对象


类方法一般用来提供标准化处理;实例方法一般用来提供个性化处理(绑定特定实例)。

【热门文章】
【热门文章】