継承とは、サブクラスを使用して別の親クラスを継承することで、サブクラスは親クラスのすべてのプロパティとメソッドを自動的に持つことができます。このプロセスは継承と呼ばれます。 JS には継承を実装するためのメソッドが多数あります。JS はオブジェクト指向言語であり、そのオブジェクトはプロトタイプ属性を使用してシミュレートされます。この記事を使用して、js シミュレーションを通じてカプセル化する 3 つの方法について学びましょう。必要な方はぜひ参考にしてください。
//声明一个父类 function Person(name){ this.name=name; this.age=age; this.say=function(){ alert("我叫"+this.name); } } //声明一个子类 function Student(){ this.no=no; this.study=function(){ alert("我在学习!"); } } // 通过循坏,将父类对象的所有属性和方法,全部赋给子类对象 Object.prototype.extend=function(parent){ for(var i in parent){ this[i].parent[i]; } } var p=new Person("张三",12); var s=new Student("1234567"); //子类对象调用这个扩展方法 s.extend() console.log(s);
継承実装の上記の原則:
ループを通じて、親クラス オブジェクトのすべての属性とメソッドが子クラス オブジェクトに割り当てられます。ポイントは for-in ループです。Object を拡張しなくても、単純なループで実装できます。
しかし、このメソッドを使用して継承を実装する場合には、いくつかの欠点があります:
①1 回のインスタンス化を通じて完全なサブクラス オブジェクトを直接取得することはできません。最初に親クラスのオブジェクトとサブクラスのオブジェクトを取得してから、それらを手動でマージする必要があります
② Object を拡張する継承メソッドは、サブクラスのオブジェクトにも保持されます。
継承を実装する 2 番目の方法を見てみましょう~
2. プロトタイプ継承を使用します
この方法を紹介する前に、プロトタイプ オブジェクトとプロトタイプという 2 つの概念について説明します
1。
①プロトタイプを持つのは関数のみであり、すべての関数にはプロトタイプが必要です②プロトタイプ自体もオブジェクトです! ③プロトタイプは現在の関数の参照アドレスを指します! 2. __proto__: オブジェクトのプロトタイプ! ①オブジェクトのみが__proto__を持ち、すべてのオブジェクトが__proto__を持たなければなりません②__proto__もオブジェクトなので、独自の__proto__も持ちます。この線に沿って検索する順序がプロトタイプチェーンです。 ③ 関数と配列は両方ともオブジェクトであり、独自の __proto__ を持ちます//声明父类 function Person(name,age){ this.name=name; this.age=age; this.say=function(){ alert("我叫"+this.name); } } //声明子类 function Student(no){ this.no=no; this.study=function(){ alert("我在学习!我叫"+this.name+"今年"+this.age"); } } //将父类对象赋给子类的prototype Student.prototype=new Person("张三",14); //拿到子类对象时,就会将父类对象的所有属性和方法,添加到__proto__ var s=new Student(); s.study();
function Person(name,age){ this.name=name; this.age=age; this.say=function(){ alert("我叫"+this.name); } } function Student(no,name,age){ this.no=no; this.study=function(){ alert("我在学习!"); } //将父类函数的this,指向为子类函数的this Person.call(this,name,age); } var s=new Student(12,"张三",24); console.log(s);
より多くのプルダウン更新データをロードするための mui プルアップのカプセル化プロセスの詳細な説明の例
以上がJavaScript シミュレーションを通じてカプセル化を実装する 3 つの方法とその記述方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。