在本篇博文中 我 要继续使用 Fraction这类物件。在先前的例子当中 我 采取了 两项措施 分别 给 Fraction类型的物件 设定 其变量numerator 和 denominator的值。如果 只需要 一项措施 就能设定 一个物件所包含的两个变量的值,那么 事情 就会变得 更加 轻松。事实上,objective-c 确实 允许 开发者 使 一项措施 附带 多个参数。
附带多个参数的措施 其名称 也由 多个部分 组成。比如 addEntryWithName:andEmail: 整个 就是 一项措施的名称,这项措施 附带 两个参数。而 addEntryWithName:andEmail:andPhone: 也 整个 就是 一项措施的名称,而 这项措施 附带三个参数。
如果 我 要给 某个Fraction类型的物件 设定 分子 和 分母的值,那么 我 就需要 一个附带两个参数的措施。于是 这项措施 可以命名成 setNumerator:andDenominator:。
接下来 我 给 大家 看一下 在具体的程序当中 如何 创建、实施 setNumerator:andDenominator:这项附带两个参数的措施:
文件Fraction.h
文件Fraction.m
文件main.m
在这个程序的接口部分,也就是 文件Fraction.h当中
向编译器 说明了 一项名叫setNumerator:andDenominator:的措施。— 表明 这项措施 只能 针对 某个物件,而 不能 针对 某类物件。(void) 表明 这项措施 不 向调用它的语句 传回 任何数值。紧接着第一个冒号的 是 第一个参数的类型 和 名称,而 紧接着第二个冒号的 是 第二个参数的类型 和 名称。需要注意的 是 第一个参数的名称 和 这项措施名称的第二部分之间 应该用 空格 隔开。
在这个程序的实施部分,也就是 文件Fraction.m当中
向编译器 说明了 setNumerator:andDenominator:这项措施 具体 如何实施。这项措施的作用 就是 将 参数n 和 d的值 存储 在Fraction类型物件的变量numerator 和 denominator当中。
在程序部分,也就是 文件main.m当中
创建了 两个Fraction类型的物件:fractionOne 和 fractionTwo。
先 对 物件fractionOne 采取了 setNumerator:andDenominator:这项措施,并且 附带了 参数2 和 3;然后 对 物件fractionTwo 采取了 setNumerator:andDenominator:这项措施,并且 附带了 参数3 和 4。
运行 这个程序后,会得到 这样的结果: