0

我的意思更确切地说:

var MyClass = function(){
    return {
        init: function(a, b, c){
            this.__a = a;
            this.__b = b;
            this.__c = c;
        }
        ,doSomething: function(){
            // when to use this:
            this.__subThingType1();
            // or this?
            this.__subThingType2(this.__a, this.__b, this.__c);
        }
        ,__subThingType1: function(){
            var a = this.__a;
            var b = this.__b;
            var c = this.__c;
            // do dirty things with a, b and c
        }
        ,__subThingType2: function(a, b, c){
            // do dirty things with a, b and c
        }
}​

什么时候应该使用 type1 或 type2?我想不出一个规则,我发现我的代码是两者之间的混合,因为有时我想我会从这个类中删除那个方法并将它放在一个库中。但这不是一个好的规则,因为有时我将方法留在课堂上,所以会发生很多混合。

  • 此外,该方法应该返回一个值还是更改实例变量?

谢谢

4

1 回答 1

1

在实例中存储内在数据;传入外部数据作为参数。例如,您的班级代表一个圆圈。将其中心和半径存储为内在数据。但是您的方法intersectionWith需要一个参数anotherCircle并返回相交区域。

内在和外在之间的区别并不总是那么明显,但编码并不总是那么明显。用你的判断。

更一般地说,如果您对这类事情感到困惑,您可能想了解更多有关面向对象编程范式的信息。

于 2012-12-24T23:39:45.067 回答