OC开发之——类方法(16)

一 概述

我们前几节课学的对象方法是以-开头,先创建好对象,然后调用减号开头的对象方法;本文介绍类方法,类方法不用创建对象,直接类名调用,且方法开头标示是+号。

二 代码示例

#include <Foundation/Foundation.h>
@interface Person:NSObject
{
    int age;
}
+(void)printClassName;
-(void)test;
+(void)test;
@end
@implementation Person
+(void)printClassName
{
    NSLog(@"这个类叫做Person");
}
-(void)test
{
    //NSLog(@"调用了对象方法———————test");
    [Person test];
}
+(void)test
{
     NSLog(@"调用了类方法+++++++++test");
}
@end
int main()
{
    //[Person test];
    //[Person printClassName];
    Person *p=[Person new];
    [p test];  
    return 0;
}

三 总结

3.1 对象方法

  • 减号-开头
  • 只能让对象调用,没有对象,这个方法根本不可能被执行
  • 对象方法能访问实例变量(成员变量)

3.2 类方法

  • 加号+开头
  • 只能用类名调用,对象不能调用
  • 类方法中不能访问成员变量(实例变量)

3.3 类方法的好处和使用场合

  • 不依赖于对象,执行效率高
  • 能用类方法尽量用类名调用
  • 场合:当方法内部不需要使用到成员变量时,就可以改为类方法
发布了347 篇原创文章 · 获赞 117 · 访问量 52万+

猜你喜欢

转载自blog.csdn.net/Calvin_zhou/article/details/105284802