#import <Foundation/Foundation.h>
/*
1.基本概念
直接可以用类名来执行的方法(类本身会在内存中占据存储空间,里面有类\对象方法列表)
2.类方法和对象方法对比
1)对象方法
以减号-开头
只能让对象调用,没有对象,这个方法根本不可能被执行
对象方法能访问实例变量(成员变量)
2)类方法
以加号+开头
只能用类名调用,对象不能调用
类方法中不能访问实例变量(成员变量)
使用场合:当不需要访问成员变量的时候,尽量用类方法
3)类方法和对象方法可以同名
*/
@interface calculator : NSObject
//加法
+ (int)addWithX:(int)x and:(int) y;
//减法
+ (int)subWithX:(int)x and:(int) y;
//乘法
+ (int)mulWithX:(int)x and:(int) y;
//除法
+ (double)divWithX:(int)x and:(int) y;
@end
@implementation Calculator
//加法
+ (int)addWithX:(int)x and:(int) y
{
return x+y;
}
//减法
+ (int)subWithX:(int)x and:(int) y
{
return x-y;
}
//乘法
+ (int)mulWithX:(int)x and:(int) y
{
return x*y;
}
//除法
+ (double)divWithX:(int)x and:(int) y
{
return (double)x/y;
}
@end
int main (int argc, const char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int x=8,y=5;
NSLog(@"%d+%d=%d",x,y,[Calculator addWithX:x and:y]);
NSLog(@"%d-%d=%d",x,y,[Calculator subWithX:x and:y]);
NSLog(@"%d*%d=%d",x,y,[Calculator mulWithX:x and:y]);
NSLog(@"%d/%d=%f",x,y,[Calculator divWithX:x and:y]);
[pool drain];
return 0;
}
运行结果