ES 6におけるクラスの使い方と教程(進級編)
13043 ワード
一、extensを使用して、子類を父類の継承を実現する.なぜ、子の親クラスを継承することができますか?以下のコードの2つのクラスのAmericanとChineseの中のconstructorのコードは同じです.もし私達がもっと多くの種類を作るなら、このようなコードは非常に肥大します.だから私達は父の種類を作成して、子供たちに父の種類の内容を継承させます.元コード: サブクラスの親クラスを継承する方法例: 二、super関数の使用 superは何のsuperですか?サブクラスのsuperは父のコンストラクタの一つの参照です. いつsuper当子類を使用してextensを通じて親類を継承した後、サブクラスが自分*特有の*の属性を持つ必要がある場合、サブクラスのコンストラクタ内部でsuper関数を優先的に優先的に使用しなければなりません.優先的に使用しなければなりません. 例えば以下の例では、中国人は父の種類を継承しながら、独自の身分証番号を持っています.
class American {
constructor (name, age) {
this.name = name;
this.age = age;
}
}
const a1 = new American('Bob', 25);
class Chinese {
constructor (name, age) {
this.name = name;
this.age = age;
}
}
const c1 = new Chinese(' ', 26);
extensキーワードを使って相続コードを実現する: //
class Person {
constructor (name, age) {
this.name = name;
this.age = age;
}
}
//
class American extends Person{
}
const a1 = new American('Bob', 25);
//
class Chinese extends Person{
}
const c1 = new Chinese(' ', 26);
//
class Person {
constructor (name, age) {
this.name = name;
this.age = age;
}
say (h) {
console.log(h)
}
}
//
class American extends Person{
}
const a1 = new American('Bob', 25);
a1.say('hello')//hello
//
class Chinese extends Person{
}
const c1 = new Chinese(' ', 26);
c1.say(' ')//
//
class Person {
constructor (name, age) {
this.name = name;
this.age = age;
}
say (h) {
console.log(h)
}
}
//
class American extends Person{
}
const a1 = new American('Bob', 25);
a1.say('hello')
//
class Chinese extends Person{
constructor (name, age, IDcard) {
super(name, age);
this.IDcard = IDcard;
}
}
const c1 = new Chinese(' ', 26, '220225xxxxxxxxxxx');
c1.say(' ')
console.log(c1)//Chinese {name: " ", age: 26, ID: "220225xxxxxxxxxxx"}
ここで、es 6のクラスの教程は終わります.もしこの文章に読めないところがあれば、前のクラスの使い方と教程(基礎編)を見てください.初めて文章を書いて、よくないです.すみません、何か問題があったら、メッセージを書いてください.