A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我的呸 中级黑马   /  2015-8-2 15:18  /  630 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1.类方法描述
Objective-C中的类可以声明两种类型的方法:实例方法和类方法。
实例方法就是在一个类的具体实例范围内调用。也就是说在使用实例方法时候,必须先创建一个类的实例。
类方法不需要事先创建一个实例。

类方法开头是+表示,它不依赖于实力对象。
2.类方法调用

【类名  方法名】;
类方法可以与实例方法同名。实例方法由实例对象访问调用,类方法要通过类里访问调用,不会有交叉相互影响。
类方法也可以是从父类继承而来,子类可以重写类方法。
类方法和实例方法一样在interface里声明,在implementation里实现。
类方法只能被类调用执行,向实例对象发送类方法是不能被触发执行的。
在类方法里使用了self,这个self执行的类对象class object而不是实例对象instance object。

3.类方法的有点:

  • 节省内存空间
  • 提高效率
  • 作为工具方法

注意:在类方法中,不能调用类的成员变量。在对象方法中可以使用类的成员变量。

4.类方法和对象方法比较

1)对象方法:
以-号开头
可以使用成员变量。用对象调用对象方法
对象方法可以调用当前对象或者其他对象的方法(是通过将对象作为参数传入方法)。对象方法可以调用类方法。
2)类方法:
以+开头
不可以使用成员变量
用类名调用类方法
类方法可以调用对象方法(是通过将对象作为参数传入方法)
类方法不可以调用自身,会造成死循环。

5.类方法的应用
如果我们调用一个方法,该方法中不需要使用成员变量,那么我们可以将该方法声明为类方法。
@interface Calculator : NSObject
{
int_result;
int_num1;
int_num2;
}
//声明一个类方法用于计算两个数的和
+(int)sum Num1:(int)num1 andNum2:(int)num2;
@end
@implementation  Calculator
//通过类方法计算两个数的和
+(int)sumNum1:(int)num1 andNum2:(int)num2{
    return  num1+num2;
}
@end



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马