だから基本的に
__extends(MyPageView, _super);
オブジェクト指向言語における継承の観点から考えてみてください。クラスがスーパー クラスまたは基本クラスを拡張している場合..
基本的に、ここ MyPageView
ではスーパークラスの機能と実装を拡張します。
したがって、ベース ビューにメソッド C() がmethod A() and method B()
あり、現在のビューにメソッド C() があるとします。現在のビューは、そのビュー A() , B() and C()
内の 3 つのメソッドすべてにアクセスできます。
しかし 、 MyPageView
hasmethod B()
が定義されているとしましょう。ビュー内のメソッドはprecedence over the Method B() of Super View
var __extends = this.__extends || function (d, b) {
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
すべての関数には魔法のプロトタイプ プロパティがあります。
var __extends = this.__extends || function (d, b) {
その関数がそのコンテキストで使用可能かどうかを確認します。関数を定義していない場合は、2 つの引数を取る関数を定義します。拡張されるオブジェクトと拡張元のオブジェクトです。
function __() { this.constructor = d; }
コンテキストのコンストラクタープロパティがバインドされて__
いる、呼び出される新しい関数を定義するobject d
__.prototype = b.prototype;
のプロトタイプ プロパティはチェーンObject __
を指しています。b.prototype
d.prototype = new __();
のメソッドへのアクセスはSuper View
ここで行われ、ここでオブジェクトのプロトタイプ プロパティを設定します。
そのため、新しいインスタンスが作成されたときに、メソッドが使用できない場合は、オブジェクトが原因で、関連付けられている関数で使用可能でprototype
あるため、メソッドがチェックされますSuper view
__
object d