タグ

@はてな匿名ダイアリーと*プログラミングに関するcrea555のブックマーク (2)

  • オブジェクト指向は、手続き型言語をやっていると自然に導かれる発想

    手続き型言語をやっていると、データを組み合わせて取り扱う必要が出てくる。 例えば、顧客のデータを扱う必要があるとき、顧客の「名前、住所、所属、電話番号、取引内容...」などをまとめて取扱いたい。 そこで、構造体という発想が出てくる。 コンストラクタ、デストラクタ、メソッド、アクセス制御手続き型言語では構造体を扱っていると、新しく顧客データを作るとき、毎回毎回、作った後に同じ動作をしないといけないことに気づく。 具体的には、名前、住所、電話番号の登録。 そしたら、それをいっぺんにやってしまうために関数を作ることになるだろう。 init_customer(struct Customer*, char* name, char* addr, char* tel) また、逆に顧客データが不要になったとき、メモリ解放などをさせるために、 delete_customer(struct Customer*

    オブジェクト指向は、手続き型言語をやっていると自然に導かれる発想
  • javascriptを理解するためのたった2つの大切なこと:改

    9割ぐらいはハッシュ何がハッシュなのかjavascriptで存在するほとんどのオブジェクトの実体はハッシュだよ。 var arr = [0,1,2,3]; とかをみると配列(人によってはリスト)に見えると思う。でも実際は違うんだ。 これは var has = {0:0,1:1,2:2,3:3}; と基的には等価なんだ。ただちょっと束縛されているメソッド(インターフェイス)が違うだけ。 ためしに arr[4] = 4; arr['x'] = 'string'; arr[-1] = -1; としてみよう。 Firebugで確認してみると[0, 1, 2, undefined, 4]というような値がかえってくるよ。 でもarr[-1]やarr['x']の値は保存されてないのかな?そんなことはないちゃんとアクセスできるんだ。 それどころかarr.xで'string'がかえってくるんだ。 別の例を

    javascriptを理解するためのたった2つの大切なこと:改
  • 1