JavaScript オブジェクト
出典: フリー教科書『ウィキブックス(Wikibooks)』
- JavaScript > オブジェクト
[編集] 簡単なオブジェクト指向入門
貴方がプログラミングに興味をしてしている以上、おそらく一度はこの名前に触れていることと思うが、ここでは後々の章の理解を助けるためにオブジェクト指向の考え方の「さわり」を解説する。
[編集] 歴史
コンピューターが実用化されてその有用性が認められると、次第にそのプログラムは巨大化し、矛盾無くそのプログラムを動かすのが問題になった。
始めにマシン語を人間に理解しやすくするために高級言語が登場し、続いてC言語の様な構造化言語が登場した。
しかし、これだけでは巨大なプログラムを開発するには十分ではなく、巨大なプログラムを上手く切り分けて、複雑さを軽減する必要性が出てきた。
このために登場したのがオブジェクト指向という考え方である。
オブジェクト指向という概念は、はじめSmallTalkという環境において実装され、続いてC言語の言語仕様を拡張した形でC++という形で実装され、これを元にJavaが作られた。
オブジェクト指向の考え方は、構造化プログラミングの手法と矛盾することなく、むしろ構造化したプログラムを部分ごとに良く分割するのに有効な方法である。
[編集] 実例
オブジェクトの概念を実感してもらうには実際のコードを見てもらうのが良い。
例えば、何度と無く使っている
document.write()
これはdocumentとwriteの単語の間をドット「.」区切ってある、仮にこのドットに適当な助詞を付けて邦訳すると意味は
「この文書」に「書く」
となる。このように動作を受ける側と、その動作を書くことで、誰が何を行うか直感的に分かりやすいコードを記述することが出来る。
この文の、主語にあたる所が「Object(モノ)」、動作に当たる部分を「Method(方法)」と呼ぶ。
また、オブジェクトとメソッドの関係はJavaScript全般に渡って存在し、例えば
var fruit = [ "りんご", "バナナ", "パイナップル", "オレンジ" ]; // 適当な配列を作成 document.write( fruit.length ); // 配列の長さを表示(今回は4)
このコードの次の部分
fruit.length
これにも、ドットに適当な助詞を付けて邦訳すると
「この配列(fruit)」の「長さ」
となる。おまけで、次のコードを見てもらいたい。
var iroha = "いろはにほへとちりぬるを"; document.write( iroha.length );
今回も「length」を使っているが、先程と同じように助詞を付けて邦訳すると
「この文字(iroha)」の「長さ」
となる。当然、文字の長さ(今回は12文字なので12)が得られるのを期待するし、その様に動く。
このようにして、同じ形容詞でも文脈によって求める答えが違う事に対応している。
この様な直感的なコードを書ける様にする事が、オブジェクト指向プログラミングの大きな目的の一つである。
実例に関しては、これからのコードに多数登場するのでそれぞれで参照して欲しい