探索Objective - C中的组合、继承与文件组织
1. 轮胎访问器的实现
轮胎访问器的代码用于确保轮胎实例变量数组索引的有效性。以下是其实现代码:
- (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:
这里使用了防御性编程,对数组索引进行检查。若索引不在0到3的范围内,程序会输出错误信息并退出。这是因为 tires 是C风格数组,编译器不会对数组索引进行错误检查。例如, tires[-5] 或 tires[23] 在编译时不会报错,但会访问随机内存,导致程序出现错误和崩溃。
使用这些访问器的代码
超级会员免费看
订阅专栏 解锁全文
41

被折叠的 条评论
为什么被折叠?



