Person.h
#import <Foundation/Foundation.h> @interface Person : NSObject { @public int _age; float _weight; // 运动1次,就去吃饭. } // 让人运动 - (void)sport; // 让人吃 - (void)eat; // 让人运动 + (void)sport; // 让人吃 + (void)eat; //对象方法 - (void)study; //类方法 + (void)study; @end
Person.m
#import "Person.h" @implementation Person // 让人运动 - (void)sport { NSLog(@"这个人运动--对象方法"); // 在对象方法当中调用类方法 [Person eat]; } // 让人吃 - (void)eat { NSLog(@"这个人吃东西--对象方法"); } // 让人运动 + (void)sport { NSLog(@"这个人运动--类方法"); // 在本方法中,不能用self调用自己的方法.会死循环. [self sport]; } // 让人吃 + (void)eat { NSLog(@"这个人吃--类方法"); } //对象方法 - (void)study { NSLog(@"%d年龄的人学习--对象方法",_age); } //类方法 + (void)study { NSLog(@"类方法"); } @end
/** 类方法:由类调用的方法 1.类方法的局限性: 不能访问成员变量. 2.类方法的优势: 不依赖对象.不占用内存空间.节约内存可以不创建对象。 3.对比对象方法和类方法 1)格式: 对象方法: - (返回值类型)方法名:(参数类型)参数名称; 类方法: + (返回值类型)方法名:(参数类型)参数名称; 2)调用者 对象方法:必须创建对象,由对象来调用. 类方法:不依赖于对象,由类直接调用. 练习:设计1个计算器,有加法\减法\乘法\除法,用类方法不依赖于对象. 报错信息: unrecognized selector sent to class 0x1000046c8 某个方法找不到. */
本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/5308377.html,如需转载请自行联系原作者