赞
踩
1.类的定义
在类的定义中,关键字为 interface ,关键字后面为类名,类名一般情况下首字母大写 冒号后面 NSObject 是父类
命名时要见名知意
大驼峰命名:命名时每个单词的首字母大写 一般用于类的命名
小驼峰命名:第一个单词首字母小写,以后每个单词的首字母大写,一般用于实例变量和参数的命名
(-)对象方法(实例方法):对象方法只能给对象调用,不能给类调用
(+)类方法:只能给类调用,不能给对象调用
- @interface Student : NSObject//类名的首字母大写,以后每个单词的首字母大写
- {
- //类似于结构体
- // 实例变量的定义 ,命名通常以_开头,第一个单词的首字母小写,以后每个单词的首字母写
- // 实例变量必须包含在大括号内
- NSString *_name ; //NSString 是 OC 系统提供的字符串类
- NSInteger _age ; // NSInteger 是 long 类型
-
- }
- //构造方法(初始化方法)
- //id 类似于 C语言中的 void *
- // - 说明该方法是一个对象方法(实例方法):实例方法就是给类的实例调用的方法
- // 该方法无传入参数
- // 返回值是一个id(范型)类型的对象 方法名是 init
- -(id)init ;
-
- //setter 方法:修改实例变量值的方法
- //有一个传入参数 name
- //无返回值
- //方法名 setName :
- -(void)setName : (NSString *) name ;
- -(void)setAge : (NSUInteger) age ;
- //有两个传入参数 name age
- //无返回值
- //方法名是 setName:andAge:
- -(void)setName : (NSString *)name andAge :(NSInteger )age ;
- //匿名方法 省略掉第二个
- -(void)setName:(NSString *)name : (NSInteger)age ;
-
-
- //getter方法
- //读取实例变量的值
- -(NSString *)name ;
- -(NSInteger) age;
-
- //+开头的方法 类方法 给类调用的方法 通常用类名调用
- +(void) textStudent ;
-
- @end

2.类的实现
类实现的关键字:implementation
-
- //方法的命名 : 第一个单词的首字母小写,以后每一个单词的首字母大写 “驼峰规则”
- @implementation Student
-
- -(id)init//初始化对象的方法
- {
- self = [super init] ; //self 表示调用者 ,指向调用者的对象指针变量
- //super 调用父类方法的关键字
- if ( self ) {
- _name = @"小华" ;
- _age = 12 ;
- }
- return self ;
- }
-
- //setter方法访问修改实例变量的值
- -(void)setName:(NSString *)name
- {
- _name = name ;
- }
- -(void)setAge:(NSUInteger)age
- {
- _age = age ;
- }
- -(void)setName:(NSString *)name andAge:(NSInteger)age
- {
- _name = name ;
- _age = age ;
- }
-
- //getter方法访问读取实例变量的值
- -(NSString *)name
- {
- return _name ;
- }
- -(NSInteger)age
- {
- return _age ;
- }
- //测试当前类是否可用
- +(void)textStudent
- {
- Student *stu = [[Student alloc]init];
- [stu setName:@"小飞" andAge:25];
- NSLog(@"name = %@ age = %li",[stu name],[stu age]);
- }
-
- @end

创建一个对象,为对象分配内存空间并初始化,调用对象方法和类方法
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- Student *stu = [[Student alloc] init];
- NSLog(@"name = %@ ,age = %li",[stu name],[stu age]) ;
- /*
- name = 小华 ,age = 12
- */
-
- //调用类方法
- [Student textStudent];
- /*
- name = 小飞 age = 25
- */
- }
- return 0;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。