Web製作メモ帳

Web制作で気づいたことをつらつらと

オブジェクト指向的思考回路?

 今日の話題はちょっと専門的だが、ウェブページを作成していて思うことである。オブジェクト指向に興味の無い人は読まないほうがいいと思う。何を書いているのかわからないだろうし時間の無駄なので。

 スタイルシートとHTMLのタグとを紐付けるために使う"class"という属性はスーパークラス←→サブクラスの関係を持たせて、つまり継承を用いて定義できないものだろうか?

 「クラス」といえば、オブジェクト指向に慣れている人間にとっては当然「継承」可能な概念だと考えてしまうんだよな。クラス的なものを設計していると「他のクラスを拡張したもの」とか「他のクラスと似ているけど、部分的にちょっと違う部分があるもの」を使いたくなることは多々あるのだが、そのたびに同じようなコードを書かなければならないし、書くだけだったらコピペすればいいのだが、ソースが肥大化するしメンテしづらい。ソースを一見しただけで違いがわかる様じゃないとね。

 また、Javascriptインスタンス(オブジェクト)にしてもしかりである。こちらはインスタンスという概念があるのにクラスという概念が無い。オブジェクト指向の様に見せかけた非オブジェクト指向言語である。強いて言えば「オブジェクトという概念が存在する言語」といったところか。そもそも「Java」script と名乗っていながら全然Javaっぽくないし、紛らわしいのでJavaと付く名前はやめるべきである。それはそうと、せっかくオブジェクトという概念があるのなら「継承」というオブジェクト指向の基本的な概念ぐらい取り入れられているべきだと思うのだが・・・。