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 はいつ使用する必要がありますか? このルールを理解できません。この 2 つが混在しているコードを見つけました。このクラスからそのメソッドを削除して lib に入れることがあると思うことがあります。しかし、これは良いルールではありません。メソッドをクラスに残しておくことがあるため、多くのミキシングが発生します。

  • また、メソッドは値を返すか、インスタンス変数を変更する必要がありますか?

ありがとう

4

1 に答える 1

1

インスタンスに組み込みデータを格納します。外部データを引数として渡します。たとえば、クラスは円を表します。その中心と半径を固有データとして保存します。しかし、あなたのメソッドintersectionWithは引数を取り、anotherCircle交差点の面積を返します。

組み込みと外部の違いは必ずしも明白ではありませんが、コーディングは必ずしも明白ではありません。あなたの判断を使用してください。

より一般的に言えば、この種のことに困惑している場合は、オブジェクト指向プログラミングのパラダイムについてもっと学びたいと思うでしょう。

于 2012-12-24T23:39:45.067 に答える