##《Objective-C 高级编程》测试题
- 设计一个动物基类。
要求: A、抽象出动物的基本属性(包括:性别、名字、体重)。 B、抽象出动物的基本能力(包括:发声)。 C、基本属性性别用枚举定义。 - 由题目 1 设计好的动物基类继承,设计一个新的鸟和鱼的子类。 要求:
A、鸟类需要扩展颜色属性。 B、鸟类需要扩展飞的方法(方法体输出打印出飞行状态即可)。 C、鱼类需要扩展颜色属性。 D、鱼类需要扩展出游的方法(方法体输出打印游的状态即可)。 - 设计好 1、2 两个题目要求的类后,创建一个数组。使用一个循环,生成 10 只鸟、10 条鱼的对象,并将 10 只鸟、10 条鱼的对象加入到创建好的数组中。 最后,遍历这个数组对象,遍历到鸟对象时调用鸟儿飞的方法,遍历到鱼对象 时调用鱼儿游的方法。
- 考虑游戏中捞鱼, 随机器捞到 n 条鱼,纪录数量(被捞到的鱼认为对象的生 命周期结束,需要从内存中释放)。打鸟同理。
我的实现
复习了类的定义,属性,实例方法,枚举,NSArray,随机数。
@孔祥波 老师点评了我的错误实现。自己回来改了很多,终于完成了,也加深了涉及知识点的应用。再次感觉 Google 真是个好东西。
###实现代码位置:
- 一二题目定义类为:GWAnimal,GWBird,GWFish
- 三四题对应代码在:ViewController.m 的 - (void)viewDidLoad {}中
分别添加 // MARK No.3 和 // MARK: No.4,方便定位。
注释文档
其他的 Headerdoc 为练习写注释文档,尤其是// FIXME: Print a more readable result. 和 // TODO: Set a NSArray to init randomGWFish. 纯粹凑字数。测试 Swift 哪些可以用在 Objective-C 上。参看: Swift Documentation。
其实这个实现是 Objective-C,应该看这一篇的 Documentation:
- @param [param] [Description]: Describes what value should be passed for this parameter
- @return [Description]: Describes the return value of the method
- @see [selector]: Provide “see also” reference to related method
- @warning [description]: Call out exceptional or potentially dangerous behavior
To help speed up the process of documenting your project, you may want to check out the VVDocumenter-Xcode project, which automatically adds @param and @return labels for methods according to their signature.
1 |
|