3

無理かもしれませんが、気になります。パブリック ファクトリ メソッドでプライベート コンストラクタを定義することは可能ですか?

function MyParentClass() {}
MyParentClass.prototype.init = function() { ... }

function MyChildClass() {}
MyChildClass.prototype = new MyParentClass();
MyChildClass.prototype.init = function() {
    ...
    MyParentClass.prototype.init.apply(this);
    ...
}
MyChildClass.Create = function() {
    var instance = new MyChildClass();
    instance.init();
    return instance;
}

2 つのコンストラクターを非表示にして、Create() のみを公開することは可能ですか?

このオーバーライド可能な init() アプローチに対する他のアプローチも歓迎します。ありがとうございました。

4

1 に答える 1