sironekotoroの日記

Perl で楽をしたい

Head First JavaScript 第2版 第9章、第10章

ソートが苦手

  • というか、よく分からん・・・他の本に期待してページを進める
  • そういえば、Perlでもハッシュリファレンスのソートとか苦手だ

オブジェクト指向だ!(第10章)

  • この本では

    現実世界で喩えると、クラスは家の設計図であり、オブジェクトは家そのものです

  • オブジェクトクラスからオブジェクトインスタンスを作る

  • インスタンスはクラスから作られる

キーワードのthisはインスタンスによって所有されるプロパティやメソッドを設定するのに使います (中略)thisを使って設定したのでインスタンスメソッドを持っています。このためメソッドのコードがインスタンスごとに重複する訳です

  • わかる!無駄なことしてそうって分かる!
  • そこで

クラスが持つメソッドは、ひとつメソッドを共有して実行できます
クラスにメソッドを格納すると、ひとつのコピーをすべてのインスタンスが共有できます

  • ふむふむ。

JavaScriptのクラスはprototypeと呼ばれるかくれたオブジェクトのおかげで、実現する事が出来ます。

  • クラスにあるメソッドインスタンスが使い回す事が出来るので、メモリに優しい・・・
  • 繋がった感

  • 「続・はじめてのPerl 第2版」のオブジェクト指向のところは本当にわからず、他の本で良い解説に出会うまで待とう・・・ってな感じだった。

  • JavaScriptの方から理解の糸口つかめるとはなぁ。
  • 情報処理試験でももちろんオブジェクト指向についての設問はあったけど、あのときは本当の理解には遠かった。
    • でもまぁ、それでも合格することはできる。覚えてさえいれば。

Q.オブジェクト指向という語を見た事があります。どういう意味なのでしょうか?
A.(中略)一般には、オブジェクト指向プログラミング(OOP)はソフトウェアをオブジェクトから作成する事を意味します
(中略)オブジェクト指向の純粋主義者は、JavaScriptOOP言語を名乗る資格がないと主張しています。こうした神学論争には関わらないようにしましょう。どちらの主張も正しいので決着がつきません。

  • え、prototypeで組み込みのJavaScriptクラスも拡張できんのか・・・!