主要学习内容
类的声明
@interface 类名 : NSObject
{
@public
int 成员变量名;
……
}
- (返回值类型)方法名;
@end
- @interface和@end成对出现
- 成员变量用{}括起来
- 所有类都要继承NSObject类
- 返回值类型用括号括起来
- “-”代表此方法为实例方法,只有通过对象才能调用
- 因为方法要访问成员变量,所以设置访问控制符@public
要使类具有创建对象的功能,需要继承NSObject类,而NSObject类在Foundation包中,所以程序开头要引入包
#import <Foundation/Foundation.h>
类的实现
@implementation 类名
- (返回值类型) 方法名
{
具体方法实现
}
@end
类的声明只声明了该类具有什么方法,而方法具体是做什么的是在方法实现中定义的。
对象的创建与方法的调用
OC中通过[]中括号来控制行为
初始化对象
类名 *对象名 = [类名 new]
OC中都是通过指针来访问对象
方法的调用
[类名 方法名]
类与函数的区别
返回值类型 函数名()
{
函数体
}
- 表面上看函数名后面跟(),里面放形参,而方法()中放的是返回值类型
- 方法的声明一定要放在方法调用的前面,否则会报错,而函数可以在任意位置
实例代码
#import <Foundation/Foundation.h>
@interface Person : NSObject
{ @public
int age;
int high;
}
- (void) run;
@end
@implementation Person
- (void) run{
NSLog(@"%d run! %d", age, high);
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *p = [Person new];
p->age = 25;
p->high = 178;
[p run];
}
return 0;
}
运行结果: 25 run! 178