标签:
Student *stu = [Student new]; [stu setAge:100]; int age = [stu age];
stu.age = 100; int age = stu.age;
- (void) setAge:(int)age { // 下面的代码会引发死循环 self.age = age; } - (int) age { // 下面的代码会引发死循环 return self.age; }
局部变量、全局变量都有自己的作用域,成员变量也不例外
没有@interface,只有@implementation,也可以开发一个类
- (int)age; // getter - (void)setAge:(int)age; // setter
- (int)age{ return _age; } - (void)setAge:(int)age{ _age = age; }
typedef struct objc_object {
Class isa;
} *id;
// 注意:id后面不要加上* id p = [Person new];
调用一个不存在的方法,编译器会马上报错
Person *p1 = [Person alloc];
Person *p1 = [p1 init];
合成一句后:
Person *p = [[Person alloc] init];
- (id)init { if (self = [super init]) { _age = 10; } return self; }
自定义构造方法
- (id)initWithAge:(int)age { if (self = [super init]) { _age = age; } return self; }
传递多个参数进行初始化
- (id) initWithAge:(int)age andNo:(int)no;
.h和.m文件的抽取
标签:
原文地址:http://www.cnblogs.com/chenziqiang/p/4930274.html