类方法

作者: MarkTang | 来源:发表于2016-01-09 00:35 被阅读37次
    //
    //  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;
    }
    

    相关文章

      网友评论

          本文标题:类方法

          本文链接:https://www.haomeiwen.com/subject/vyxqkttx.html