84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
实例方法,即需要实例化对象调用的方法。类方法,即类直接调用的方法。
我不明白什么场合用类方法,什么场合用实例方法。两者相比较真正的优势和劣势又是什么?
类方法一般用来提供标准化处理;实例方法一般用来提供个性化处理(绑定特定实例)。
优势和劣势这种说法应该不存在吧。
如果一个方法,输入参数相同的情况下,输出会收到不同对象实例的实例变量影响而不同,一般是要写成实例方法的。
如果输入参数相同,但是不受实例变量影响(static不算实例变量),则可以写成类方法交给类去调用。例如
- (NSString *)getCertainString { return @"The string." }
这种鬼你写成实例方法也行,但是不仅每次调用得实例化/释放一个,对代码阅读还有影响。
类方法比较常见于单例模式和工厂模式。单例模式程序中这个类只有其一个实例;工厂模式则是根据参数生产出不同的实例返回。
方法之间并没有什么优劣之分,只是为了使用方便.如果非要区分,下面应该算是一点
类方法的劣势:在类方法中,self 表示类,而不是类对象,所以在类方法中你没办法用self.调用属性,也没办法调用本类的实例方法.类方法的优势:调用简单,不需要创建对象
类方法一般用来提供标准化处理;实例方法一般用来提供个性化处理(绑定特定实例)。
优势和劣势这种说法应该不存在吧。
如果一个方法,输入参数相同的情况下,输出会收到不同对象实例的实例变量影响而不同,一般是要写成实例方法的。
如果输入参数相同,但是不受实例变量影响(static不算实例变量),则可以写成类方法交给类去调用。例如
这种鬼你写成实例方法也行,但是不仅每次调用得实例化/释放一个,对代码阅读还有影响。
类方法比较常见于单例模式和工厂模式。单例模式程序中这个类只有其一个实例;工厂模式则是根据参数生产出不同的实例返回。
方法之间并没有什么优劣之分,只是为了使用方便.如果非要区分,下面应该算是一点
类方法的劣势:在类方法中,self 表示类,而不是类对象,所以在类方法中你没办法用self.调用属性,也没办法调用本类的实例方法.
类方法的优势:调用简单,不需要创建对象