#クラスの作成および、インスタンスメソッドの定義・呼び出し
index.js
class SalesPerson {
constructor(skill){
this.skill = skill;
}
introduce() {
console.log(`私は${this.skill}が得意です`);
}
call() {
console.log('お世話になっております');
}
}
const okuno = new SalesPerson('javascript');
okuno.introduce();
okuno.call();
//=>私はjavascriptが得意です
//=>お世話になっております
#クラスの継承
index.js
class Sales { //親クラスの宣言
constructor(skill){
this.skill = skill;
}
introduce() {
console.log(`私は${this.skill}が得意です`);
}
call() {
console.log('お世話になっております');
}
}
class SalesManager extends Sales { //子クラスが親クラスを継承
constructor(skill, managementExperience){
super(skill); //親クラスのコンストラクターを呼び出して、skillプロパティに値をセットしてる
this.managementExperience = managementExperience; //子クラス特有のプロパティに値をセットしている
}
introduce(){
console.log(`私は${this.skill}を${this.managementExperience}磨いてきました。`); //メソッドのオーバーライド
}
}
const manager = new SalesManager('マネジメントスキル', '2年');
manager.introduce();
manager.call(); //子クラスで定義されていないが、継承しているので親クラスのメソッッドを使える
//=>私はマネジメントスキルを2年磨いてきました。
//=>お世話になっております