---------------
main.m
---------------
#import
<Foundation/Foundation.h>
@interface
FKUser : NSObject
+ (NSString*) nation;
// 用于获取类变量
+ (
void
) setNation: (NSString*) newNation;
// 用于修改类变量
@end
@implementation
FKUser
static NSString* nation = nil ;
+ (NSString*) nation
{
static NSString* nation = nil ;
+ (NSString*) nation
{
return nation;
}
+ ( void ) setNation: (NSString*) newNation
+ ( void ) setNation: (NSString*) newNation
{
if
(![nation isEqualToString: newNation])
{
nation = newNation;
}
}
@end
int
main()
{
[FKUser setNation: @" 中国 " ]; // 为 FKUser 的类变量赋值
NSLog( @"FKUser 的 nation 类变量为: %@" , [FKUser nation]); // 访问 FKUser 的类变量
{
[FKUser setNation: @" 中国 " ]; // 为 FKUser 的类变量赋值
NSLog( @"FKUser 的 nation 类变量为: %@" , [FKUser nation]); // 访问 FKUser 的类变量
}
一、编写本节代码的具体步骤:
1.可仿照
第二章
001节的代码编写步骤。
可以把类的接口文件,类的实现文件写在main.m文件中。
二、本节代码涉及到的知识点:
1.OC并不支持类似于Java的类变量。
2.但我们可以通过内部全局变量来模拟类变量。
3.用static修饰全局变量,可限制该全局变量只能在当前源文件中使用。
4.为了模拟类变量,可以在@implementation部分定义一个用static修饰的全局变量,
并提供一个类方法来暴露该全局变量。