类方法

2016-01-09  本文已影响37人  MarkTang
//
//  main.m
//  第一个类方法
//
//  Created by zyz on 15/12/7.
//  Copyright (c) 2015年 zyz. All rights reserved.
//

#import <Foundation/Foundation.h>
//用typedef和enum配合来给颜色定义一个简单的名字
typedef enum
{
    KColorBlank,
    KColorWhite,
    KColorTuHaoJin

}icolor;
//定义一个IPhone类
@interface Iphone :NSObject
{    @public
    int _model;
    icolor _color;
    int _size;
    NSString *_name;


}
//对象方法可以直接调用成员变量


//类方法不可以调用成员变量
//1.类方法不需要用到成员变量的时候可以定义
//2.类方法可以直接用类调用
//3.对象方法必须必须对象调用
//4.类方法比对象方法效率高


//类方法不需要用到成员变量的时候可以定义
+(NSString *)returnWithColor:(icolor)number;
-(void)printWithInformation;

@end
@implementation Iphone
+(NSString *)returnWithColor:(icolor)number
{      NSString * name;
    switch (number) {
        case 0:
            name = @"黑色";
            break;
        case 1:
            name = @"白色";
            break;
        case 2:
            name = @"土豪金";
            break;
        default:
            name = @"华强北";
            break;
    }
    return name;
}
-(void)printWithInformation
{
    NSString *colora =  [Iphone returnWithColor:_color];
    NSLog(@"型号%i 颜色%@ 尺寸%i 名字%@",_model,colora,_size,_name);
}




@end
int main(int argc, const char * argv[]) {
     Iphone *p = [Iphone new];
    p->_name = @"iPhone4s";
    p->_color = KColorBlank;
    p->_size = 15;
    p->_model = 20;
    [p printWithInformation];
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读