黑马程序员技术交流社区

标题: 类的实现 [打印本页]

作者: Jine    时间: 2014-4-1 19:49
标题: 类的实现
本帖最后由 Jine 于 2014-4-2 20:46 编辑

+ (int)averageWithNumber1:(int)number1 andNumber2:(int)number2
{
//    int sum = number1 + number2;
//    在类方法中可以调用类方法
    int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];
//    如果要在类方法中调用对象方法必须创建对象, 一般开发中不建议这样使用
//    Calculator *c1 = [Calculator new];
//    int sum = [c1 sumWithNumber1:number1 andNumber2:number2];
    int avaerage = sum / 2;
    return avaerage;

我觉得把最后的   return avaerage;  换成   int sum = (number1 + number2)/ 2;   也可以返回average的值,而且还可以省去            int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];         和         int avaerage = sum / 2;这两个步骤
我觉得可读性和可扩展性也可以, 那为什么我的同学和老师都建议用
int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];
int avaerage = sum / 2;
    return avaerage;
这原来的步骤,说它扩展性更强!:L

作者: lixiangzhou    时间: 2014-4-1 20:43
请你考虑这些情况:
当average...方法和sum...方法里面都设计到对num1 和 num2的一些约束,比如说num1 和 num2 是两个在0~100的数,我们在sum...中对这两个数进行过滤,然后在average... 调用sum... ,这样过滤不需要在average...中重复写。当代码很少的时候可能没太大影响,当代码多得时候就可以节省很多写重复代码的时间了。

作者: agelessman    时间: 2014-4-1 21:02
我觉得把最后的   return avaerage;  换成   int sum = (number1 + number2)/ 2;   也可以返回average的值,而且还可以省去            int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];         和         int avaerage = sum / 2;这两个步骤
我觉得可读性和可扩展性也可以, 那为什么我的同学和老师都建议用
int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];
int avaerage = sum / 2;
    return avaerage;
这原来的步骤,说它扩展性更强!


在这个里边确实可以替代,但是要是遇到复杂的问题,用到 int sum = [Calculator sumWithNumber1:number1 andNumber2:number2];就可以避免代码重复写
作者: Jine    时间: 2014-4-2 20:46
我考虑不全面啊,谢谢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2