Objective-C编程:对象组合、访问器与文件组织
1. 轮胎访问器的实现
在编程中,轮胎访问器的实现包含两个关键方法: setTire:atIndex:
和 tireAtIndex:
。以下是具体代码:
- (void) setTire: (Tire *) tire atIndex: (int) index
{
if (index < 0 || index > 3) {
NSLog (@"bad index (%d) in setTire:atIndex:",index);
exit (1);
}
tires[index] = tire;
} // setTire:atIndex:
- (Tire *) tireAtIndex: (int) index
{
if (index < 0 || index > 3) {
NSLog (@"bad index (%d) in tireAtIndex:", index);
exit (1);
}
return (tires[index]);
} // tireAtIndex:
这两个方法都包含了对数组索引有效性的检查,这属于防御性编程。因为 tires
是一个C风格的数组,编译器不会对访问数组时使用的索引进行错误检查。如果索引超出了0到3的范围,程序会打印错误信息并退出。以下是使用这些访问器的代码示例: