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

亚连
リリース: 2018-05-17 09:57:41
オリジナル
2358 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!