⊗jsOpIhPrM 34 of 60 menu

JavaScriptのOOPにおける継承時のプライベートメソッド

プライベートメソッドは継承されません。 これは、カプセル化を破らないように意図的に設計されています。 例を見てみましょう。 以下のようなプライベートメソッドを持つ親クラスがあるとします:

class User { setName(name) { this.name = name; } getName() { return this.#capeFirst(this.name); } #capeFirst(str) { return str[0].toUpperCase() + str.slice(1); } }

この親クラスを以下の子クラスが継承しているとします:

class Student extends User { setSurn(surn) { this.surn = surn; } getSurn() { return this.surn; } }

子クラスが親のプライベートメソッドを使用しようとすると、 JavaScriptはこれを許可せず、エラーを発生させます:

class Student extends User { setSurn(surn) { this.surn = surn; } getSurn() { return this.#capeFirst(this.surn); // エラーになります } }

クラス Employee で親のプライベートメソッドを 使用してみてください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否