プロトタイプフレームワークにおけるクラス継承の実装メカニズム
// 静的メソッドをオブジェクト クラスに追加します。 extend
Object.extend = function(destination, source) {
for(property in source) {
destination[property] = source[property]; 🎜>}
return destination;
}
//オブジェクト クラスを通じて各オブジェクトのメソッド extend を追加します。
Object.prototype.extend = function(object) {
return Object.extend. apply(this, [ this, object]);
}
Object.extend メソッドは、Object クラスの静的メソッドであり、すべてのプロパティを割り当てるために使用されます。パラメータ内のソースの宛先オブジェクトへの参照を返します。 Object.prototype.extend の実装を説明します。Object はすべてのオブジェクトの基本クラスであるため、関数本体のステートメントは次のとおりです。 this ,[this,object]);
この文は、オブジェクト クラスの静的メソッドをオブジェクトのメソッドとして実行するもので、最初のパラメーターはオブジェクト インスタンス自体を指します。 2 つの要素: オブジェクト自体と、渡されるオブジェクト パラメーター オブジェクト。この機能は、パラメーター オブジェクトのすべてのプロパティとメソッドを、メソッドを呼び出すオブジェクト自体に割り当て、それ自体への参照を返すことです。このメソッドを使用して、クラス継承の実装を見てみましょう: