类是由属性和方法构成的。
OC的类由两个部分组成:
.h:类的声明文件。
.m:类的实现文件。
.h文件示例:
#import <Foundation/Foundation.h>
@interface Student : NSObject{
//大括号内定义属性
int age;
NSString *name;
}
//大括号外定义方法
//方法以“-”开头,说明这是对象方法,就是只有实例化对象才可以调用
//方法以“+”开头,说明这是类方法,直接使用类名调用(类似java中的静态方法)
//方法格式 -/+ (void) foo ;
// 方法类型 (返回值类型) 方法名 分号结束;
-(int)getAge;
-(NSString*)getName;
+(void)foo;
@end
.m文件示例:
#import "Student.h"
@implementation Student
-(int)getAge
{
return 0;
}
-(NSString*)getName
{
return @"aa";
}
+(void)foo
{
NSLog(@"这是一个类方法");
}
@end
在.h文件中使用@property
#import <Foundation/Foundation.h>
@interface Student : NSObject{
int _age;
NSString *_name;
}
@property int age;
@property NSString *name;
-(void)setAge:(int)age
andName:(NSString*)name;
+(void)foo;
@end
然后就可以直接调用了,例如
int main(int argc, const char * argv[]) {
@autoreleasepool {
Student *student = [[Student alloc]init];
[student setName:@"小名"];
[student setAge:5];
NSLog(@"NAME:%@,AGE:%d",student.name,[student age]);
}
return 0;
}
关于这块,有一篇文章讲的很好
OC语言@property @synthesize.