ホームページ >ウェブフロントエンド >jsチュートリアル >js継承におけるメソッド書き換えを説明するためのポイント

js継承におけるメソッド書き換えを説明するためのポイント

亚连
亚连オリジナル
2018-05-17 09:57:412456ブラウズ

1. インタビューで遭遇した質問ですが、サブクラスは親クラスを継承し、そのメソッドの 1 つをオーバーライドします。継承に関しては、私は間違いなく結合継承を使用します。メソッドはすべてプロトタイプに記述されます。メソッドのオーバーライドは、オブジェクトの 属性 検索に基づいているため、サブクラスのプロトタイプ オブジェクト に直接記述しても問題ありません。プロトタイプチェーン上で、近接性の原理に基づいて、最初に見つかったメソッドが呼び出されます。 2. コードは次のとおりです:

[javascript] view plain copy
// supcalss  
var parent = function(name,age){  
    this.name = name;  
    this.age = age;  
}  
parent.prototype.showProper = function()  
{  
    console.log(this.name+":"+this.age);  
}  
var child = function(name,age){  
    parent.call(this,name,age);  
}  
// inheritance  
child.prototype = Object.create(parent.prototype);  
// child.prototype = new parent();  
child.prototype.constructor = child;
// rewrite function  
child.prototype.showProper = function(){  
    console.log('I am '+this.name+":"+this.age);  
}  
var obj = new child('wozien','22');  
obj.showProper();

このようにして、サブクラスは親クラスの showProper メソッドをオーバーライドします。このうち、Object.create(proto)

関数

は、protoオブジェクトをプロトタイプオブジェクトとしてオブジェクトを作成し、そのオブジェクトを返すものです。 メソッドを見つける順序: obj -> child.prototype ->parent.prototype

3. 注意事項: JS でメソッドの継承と書き換えを実装するとき、またはクラスのメソッドを作成するときは、プロトタイプオブジェクトはプロトタイプであり、他のメソッドの継承方法を考慮する必要はありません。

関連記事:

JSのクラス定義方法の解説


JavaScriptの基本構文と変数の解説


jsの基本的なメソッドやよく使われるメソッドの解説

以上がjs継承におけるメソッド書き換えを説明するためのポイントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。