ES 6におけるクラスの使い方と教程(進級編)

13043 ワード

一、extensを使用して、子類を父類の継承を実現する.
  • なぜ、子の親クラスを継承することができますか?以下のコードの2つのクラスのAmericanとChineseの中のconstructorのコードは同じです.もし私達がもっと多くの種類を作るなら、このようなコードは非常に肥大します.だから私達は父の種類を作成して、子供たちに父の種類の内容を継承させます.元コード:
    	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('  ')//  
    
  • 二、super関数の使用
  • superは何のsuperですか?サブクラスのsuperは父のコンストラクタの一つの参照です.
  • いつsuper当子類を使用してextensを通じて親類を継承した後、サブクラスが自分*特有の*の属性を持つ必要がある場合、サブクラスのコンストラクタ内部でsuper関数を優先的に優先的に使用しなければなりません.優先的に使用しなければなりません.
  • 例えば以下の例では、中国人は父の種類を継承しながら、独自の身分証番号を持っています.
    	  //    
          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のクラスの教程は終わります.もしこの文章に読めないところがあれば、前のクラスの使い方と教程(基礎編)を見てください.初めて文章を書いて、よくないです.すみません、何か問題があったら、メッセージを書いてください.