笔记13:
注意:OC里面的点语法只能调用set和get方法
首先要有设置器和接收器:setAge age
实例对象: person
person.22; 等效于 [person setAge22];
NSInteger age = person.22; 等效于 NSInteger age = [person setAge 22];
NSInteger getage = person.age; 等效于 NSInteger age = [person age];
有时候会调用到除set和get方法外的方法,是因为有的时候被调用的方法跟get方法的规则相同:方法没有参数,同时方法有返回值。同理,规则跟set方法一样的也可以实现。
给属性赋值时属性与参数名子相同的结果:
属性:age(如果我们不用_age表示,而用age表示)
set方法:
-(void)setAge:(NSInteger)age{
age = age;
}
由于OC里面的对象是向上就近搜索的,所以标有颜色的两个age表示同意对象,所以就没有办法通过设置器方法给age赋值
-(void)setAge:(NSInteger)age{
self.age= age;
}
要是用self.age方法来表示类的属性age的话,self.age等价于[self setAge],非但没实现设置器想要完成的设置属性值的要求,反而实现了递归(出现死循环)。所以我们定义属性的时候都加下划线。