私はクラスとOOPに不慣れで、クラスと継承を説明するチュートリアルに従っていて、何かに出くわしました。
基本クラスのコンストラクターに属する値を子クラスに渡すにはどうすればよいですか?
たとえば、BASEクラスに
this.name=name
this .age=age
子クラスは基本クラスを継承します
基本クラスには、2つのプロパティがあります
this.childSchoool=school
this.childfiends=friends
を使用して基本クラスの機能にアクセスできます super().func;
次のような子クラスオブジェクトを作成すると
let childobj = new child("school_name", 6);
子オブジェクトを学校名と年齢で初期化しますが
どのようにして設定することができますname
し、age
子クラスのオブジェクトの?
簡単に言うと、別のクラス(classA)から継承しているクラス(classB)がある場合、classBコンストラクターでは、classAコンストラクターのパラメーターを取り込んで渡します。
MDNはこれを説明しています。
class Base {
constructor(name, age){
this.name = name;
this.age = age;
}
}
class Child extends Base {
constructor(name, age, school, friends){
super(name, age); //pass along to the Base constructor
this.school = school;
this.friends = friends;
}
}
let achild = new Child('ben', 4, 'School1', 99);
パラメータの順序が重要です。ただし、名前付きパラメーターを使用することもできます。
let bchild = new Child(school='school2', age=9, name='chris', friends=22);
または、spread構文を使用して、マップまたはオブジェクトを渡すことができます。
let amap = new Map([['name', 'sally'],['school', 'school1'],['age', 10],['friends', 9001]]);
let cchild = new Child(...amap);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加