初心者です。 JavaScript クラスについて。

補足

class Panda { constructor(name){ this.owner = ''; this.name = name; this.price = 100000000; } 例えですが、上記のようにパンダというクラスがあり、 管理する人間のクラスを作成したい場合、 class Nanny {} を定義して良いのか、 それともPandaを親として、 class Nanny extends Panda {}と書く必要があるのかという質問でした。 初心者のため、不明瞭ですみません。 どこかで、クラスは一つしか定義してはいけないといった情報を見た気がして、質問です。

JavaScript29閲覧

ベストアンサー

0

あー、そっちですか。 生成とかっていうよりも、『継承』とか『実装』の方じゃないかな。 >> どこかで、クラスは一つしか定義してはいけないといった情報を見た気がして それはあり得ない。 なんのためにクラスにしたりするのか。 ただし、同じデータ構造で複数のクラスを定義するのはナンセンス。 たとえば、野球選手なりサッカー選手なりのやつを表現するときに、 Tanakaクラス、Ronaldinhoクラス……と分離させるのはナンセンス。 というか、オブジェクト指向がなんたるかを理解すれば喘り得ないことだとはっきりとわかる。

ThanksImg質問者からのお礼コメント

考え方まで、ご丁寧にありがとうございます! 少し理解が深まりました!

お礼日時:5/16 16:06

その他の回答(2件)

1

class Nanny extends Panda {} そのNannyというナニは、パンダから生まれる新しい人間の種類だってことですかwww 俺は人間として、個人的にいってパンダを継承したくないわ。 第一、笹も食わんし、発情しただけでニュースになりたくない。

1人がナイス!しています

0

>初心者です。 >JavaScript クラスについて。 >親となるようなクラスは、いくつ作成しても大丈夫ですか? >それとも、一つの親クラスに対して、複数の子クラスを作成できるのみですか? > >以前、後者のような書き方はしたことあるのですが、 >前者のような事ができるのか質問でした。 > >補足 >class Panda { >constructor(name){ >this.owner = ''; >this.name = name; >this.price = 100000000; >} > >例えですが、上記のようにパンダというクラスがあり、 >管理する人間のクラスを作成したい場合、 >class Nanny {} を定義して良いのか、 >それともPandaを親として、 >class Nanny extends Panda {}と書く必要があるのかという質問でした。 > >初心者のため、不明瞭ですみません。 共通の機能を持つなら継承して下さい。 特に共通の機能を持たないなら継承しなくて良いです。 また、場合によっては抽象的なクラスが必要になる場合もあります。

>親となるようなクラスは、いくつ作成しても大丈夫ですか? 多重継承はできません。 >それとも、一つの親クラスに対して、複数の子クラスを作成できるのみですか? そうです。