Objective-C - OC访问器学习笔记
设置和获取类成员变量的值是采用面向对象语言编程时非常常见的操作,通常程序员编程时需要提供setter
和getter
方法用于成员变量的访问。自定义访问器会使源码的长度增加,变得臃肿不堪,因此OC中提供一种简明语法@property
来简化这一过程。
自定义访问器
虽然OC中提供了简明的访问器定义语法但是仍然可以自定义成员访问器,定义方式和其他的编程语言没什么太大的差别。下面定义了一个类NSPerson1
,NSPerson1
继承自NSObject
,并且有两个成员变量_heightInMeters
和_weightInKilos
。
@interface BNRPerson1 : NSObject
{
// 成员变量写在括号里面,并且以_作为前缀
float _heightInMeters;
int _weightInKilos;
}
// 方法写在外面
// getter方法命名与变量同名
- (float)heightInMeters;
// setter方法命名在之前加set
- (void)setHeightInMeters:(float)h;
- (int)weightInKilos;
- (void)setWeightInKilos:(int)w;
// 身体质量指数
- (float)bodyMassIndex;
@end
NSPerson1
类实现部分,代码好长,但是熵比较低: