JavaScript(ES2015ES6) 〜Progate🐥🐥JavaScript Ⅳ2ç«  クラスの継承〜

前回を曞き忘れたしたが、所芁時間は1でしたので、残りの目暙所芁時間は2⭐

🐥継承ずは
🐥継承したクラスを䜿う
🐥メ゜ッドの远加
🐥オヌバヌラむド1
🐥オヌバヌラむド2

【🐥継承ずは】
🌞新しく䜜成するクラスが既存のクラスの䞀皮である堎合に䜿甚。
 →class Dog extends Animal {  }
      →⚠extendsは耇数圢。

スクリヌンショット 2020-07-24 5.21.35


【🐥継承したクラスを䜿う】

スクリヌンショット 2020-07-24 18.56.51


【🐥メ゜ッドの远加】
🌞メ゜ッドは独自に蚭定できる
 →戻り倀も䜿える
 →子クラスで定矩した独自のメ゜ッドは、芪クラスから呌び出すずは出来ない。

スクリヌンショット 2020-07-25 4.49.32

class Animal {
  constructor(name, age) {
              this.name = name;
              this.age = age;
              }
  greet() {
      console.log("こんにちは");
      }
  info() {
      this.greet();
      console.log(`名前は${this.name}です`);
      console.log(`${this.age}歳です`);
     }
}
class Dog extends Animal {
// getHumanAgeメ゜ッドを远加しおください
  getHumanAge(){
          return this.age*7;
↑🀔元デヌタを衚瀺した埌に、この元デヌタを元にした異なるデヌタを出力したい時に䜿甚するずいうむメヌゞを持った🀔
          }
}
// 定数dogにDogクラスのむンスタンスを代入しおください
const dog = new Dog("レオ", 4 );
// dogに察しおinfoメ゜ッドを呌び出しおください
dog.info(  );
// 定数humanAgeを定矩し、定数dogに察しおgetHumanAgeメ゜ッドを呌び出した倀を代入しおください
const humanAge = dog . getHumanAge ( ) ; ←⭐新しいconsole.logを衚瀺するための準備
// 「人間幎霢で〇〇歳です」ず出力しおください
console.log(`人間幎霢で${humanAge}です`);


【🐥オヌバヌラむド】
🌞芪クラスず、芪クラスを継承した子クラスの同じ名前のメ゜ッドに぀いお
 →子クラスのメ゜ッドが優先される
  子クラスのメ゜ッドが芪クラスのメ゜ッドを䞊曞きしおいるoverride

スクリヌンショット 2020-07-25 5.17.06

スクリヌンショット 2020-07-25 5.21.31

🀔「class Dog extends Animal 」内のinfo(){}は、远加する分だけ曞いちゃダメなのかな正しく認識されないのかな
 →ダメでした。
  諊めお、吊、真面目にきちんず曞きたしょう 


🌞constructorをオヌバヌラむドする
 →super( );

スクリヌンショット 2020-07-25 5.27.19

⚠衚瀺はされおるけど、統䞀感がない↓

スクリヌンショット 2020-07-25 5.38.25

  this.breed = "チワワ";
  ↓を、
  this.breed = breed;  
  ↓にした埌、
  匕数ずしお
  const dog = new Dog("レオ" ,  4 , "チワワ" );
  dog.info();
  

【たずめ】
JavaScript Ⅳは合蚈2h30くらいのりェむトでした。
ただ1人では䜜れないであろうレベルな割には、Javaさんスゲヌ、っお感じで楜しんで出来おたす٩( 'ω' )و  
Ⅵたで進んだら、たた埩習に戻っおくっからよ埅っおろよ〜ヌ〜 
( ̄ヌ ̄)/~~~

この蚘事が気に入ったらサポヌトをしおみたせんか