プログラミングを知らないインフラ技術者のための、オブジェクト指向概要をまとめます。
オブジェクト(object)を日本語に訳すと何ですか?
生物
(Smalltalkという純粋なオブジェクト指向言語では、オブジェクトは”物”というより”生物”に近い愛着がある)
オブジェクト指向は、他の技法と比べ何が違うのですか?
処理とデータを一体化した指向
オブジェクト指向では、クラスをモジュールの単位とします。クラス(class)を日本語に訳すと何ですか?
C++では、分類。
Smailltalkでは、オブジェクトを作る工場
(C++、Smalltalkはオブジェクト指向の言語。言語によってオブジェクト指向に対する愛着が異なる)
なぜオブジェクト指向を学ぶ必要があるのですか?
Javaが流行っているから
オブジェクト指向のメリット
- 大規模なプログラム作成に適した開発技法
- 短納期でプログラムを完成させられる技法
- 後から機能を追加しやすい技法 (継承)
オブジェクトとは
クラスがメモリにロードされたもの (C++派)
オブジェクトはメッセージ(オブジェクト“生物”に対する引数)に応答するもの (Smalltalk派)
メッセージとは
オブジェクトのメソッドを呼び出すこと(C++派)
クラスとは
オブジェクトの型 (C++派)
カプセル化とは
隠蔽すること(C++派)
カプセル化のメリットはフィールド(データ)をダイレクトに読み書きできないところにある(ダイレクトではない=チェック処理みたいに処理を入れることが出来る)
継承とは
クラスに必要な機能を追加できる(C++派)
多態性とは
同じ名前のメソッドでもクラスが違えば違うものに出来る
(プロジェクトチームによってはこだわる部分)
インターフェイスとは
似たクラスのための約束事の定義
インスタンスとは
オブジェクト=インスタンス(C++派)
モジュールとは
クラス=モジュール(C++派)
その他用語
処理=メソッド
データ=フィールド
コンストラクタ=newしたとき(クラスをメモリにロードしたときに)何をするかの呼び出し方。(クラスがクラスのコピーを作っている感じ)
0 件のコメント:
コメントを投稿