interfacePerson{sayHello():void;}classJapaneseimplementsPerson{privatename="Japanese";// カプセル化sayHello():void{console.log(`こんにちは。私は${this.name}です。`);// ポリモーフィズム}}classEnglishimplementsPerson{privatename="English";// カプセル化sayHello():void{console.log(`Hi. My name is ${this.name}.`);// ポリモーフィズム}}// 継承classJapaneseChildextendsJapanese{sayHello():void{console.log("子供です。");// ポリモーフィズム}}constj=newJapanese();j.sayHello();// こんにちは。私はJapaneseです。conste=newEnglish();e.sayHello();// Hi. My name is English.constc=newJapaneseChild();c.sayHello();// 子供です。