OC成员变量-模拟类变量

来源:互联网 发布:tophat算法 编辑:程序博客网 时间:2024/06/05 06:49

//

//  main.m

//  OC成员变量-模拟类变量

//

//  Created by Goddog on 15/1/2.

//  Copyright (c) 2015 Goddog. All rights reserved.

//

/*

    1.OC并不支持类似于Java的类变量,但是可以通过内部变量来模拟类变量。

    2.OC也提供类static关键字,但是不能修饰成员变量,只能修饰局部变量、全局变量和函数,

        static修饰局部变量表示将该局部变量存储到静态存储区,

        static修饰全局变量用于限制该全局变量只能在当前源文件中访问,

        static修饰函数用于限制该函数只能在当前源文件中调用。

    3.模拟类变量:可以在类实现部分定义一个static修饰的全局变量,并提供一个类方法来暴露该全局变量

 

 */

#import <Foundation/Foundation.h>//定义@interface User : NSObject    +(NSString*) nation;    +(void) setNation:(NSString*) newNation;@end//实现//首先定义一个static修饰的全局变量static NSString* nation = nil;@implementation User    +(NSString*) nation    {        NSLog(@"返回nation全局变量");        return nation;    }    +(void) setNation:(NSString *)newNation    {        //对nation全局变量赋值        if(![nation isEqualToString:newNation])        {            nation = newNation;        }    }@endint main(int argc, const char * argv[]) {    @autoreleasepool {               //为User类变量赋值        [User setNation:@"HUNAN"];        NSLog(@"User 的 nation 类变量为:%@",[User nation]);            }    return 0;}


0 0
原创粉丝点击