2011/07/06

インフラ技術者のためのオブジェクト指向とは何なのか?

プログラミングを知らないインフラ技術者のための、オブジェクト指向概要をまとめます。

 

オブジェクト(object)を日本語に訳すと何ですか?

生物

(Smalltalkという純粋なオブジェクト指向言語では、オブジェクトは”物”というより”生物”に近い愛着がある)

 

オブジェクト指向は、他の技法と比べ何が違うのですか?

処理とデータを一体化した指向

 

オブジェクト指向では、クラスをモジュールの単位とします。クラス(class)を日本語に訳すと何ですか?

C++では、分類。

Smailltalkでは、オブジェクトを作る工場

(C++、Smalltalkはオブジェクト指向の言語。言語によってオブジェクト指向に対する愛着が異なる)

 

なぜオブジェクト指向を学ぶ必要があるのですか?

Javaが流行っているから

 

オブジェクト指向のメリット

  • 大規模なプログラム作成に適した開発技法
  • 短納期でプログラムを完成させられる技法
  • 後から機能を追加しやすい技法 (継承)

 

 

オブジェクトとは

クラスがメモリにロードされたもの (C++派)

オブジェクトはメッセージ(オブジェクト“生物”に対する引数)に応答するもの (Smalltalk派)

 

メッセージとは

オブジェクトのメソッドを呼び出すこと(C++派)

 

クラスとは

オブジェクトの型 (C++派)

 

カプセル化とは

隠蔽すること(C++派)

カプセル化のメリットはフィールド(データ)をダイレクトに読み書きできないところにある(ダイレクトではない=チェック処理みたいに処理を入れることが出来る)

 

継承とは

クラスに必要な機能を追加できる(C++派)

 

多態性とは

同じ名前のメソッドでもクラスが違えば違うものに出来る

(プロジェクトチームによってはこだわる部分)

 

インターフェイスとは

似たクラスのための約束事の定義

 

インスタンスとは

オブジェクト=インスタンス(C++派)

 

モジュールとは

クラス=モジュール(C++派)

 

その他用語

処理=メソッド

データ=フィールド

コンストラクタ=newしたとき(クラスをメモリにロードしたときに)何をするかの呼び出し方。(クラスがクラスのコピーを作っている感じ)

0 件のコメント:

コメントを投稿