C#はオブジェクト指向と呼ばれる考え方に基づいて作られています。 C#に限らず、最近のプログラミング言語のほとんどがオブジェクト指向に基づいた設計になっています。
プログラムを作るときにはまずデータ構造を決める。
オブジェクト指向: データ構造を中心に考える。
データ構造は、中身を隠す(カプセル化する)と、必要なところだけ見えて分かりやすい。
継承と多態性という概念もあります。
##手続きとデータ構造
代入文や条件分岐、反復処理、構造体などの機能は**
手続き
(procedure:プログラムの動作の手順)を書くためのものです。
プログラムを作るとき、まずデータ構造
(data structure:プログラム中で使うデータをどのようにして記憶しておくか)を決めなければなりません**。 データ構造が決まって初めて、そのデータをどのように処理していくかという手続きが決まるわけです。
データから処理していくという設計がオブジェクト指向。
##オブジェクト
前節で述べたように、手続きを中心とするのではなく、データを中心としてそのデータに対する操作として手続きを書いていくのが自然なプログラム作成手法なわけです。
このような、**操作の対象としてのデータ構造のことをオブジェクト
(object : 対象、物体)**といい、オブジェクトを中心としてプログラムを設計していく手法のことをオブジェクト指向
(object oriented)といいます。
データ構造のことをオブジェクト,
オブジェクトからプログラムを設計していくのをオブジェクト指向。
###中身の隠蔽(カプセル化)
オブジェクト指向の考え方では、 オブジェクトは
中身(内部実装)
がどうなっているのかを隠蔽し、可能な操作と属性(外部仕様)
のみを公開すべきだと言われています 。
可能な操作のことをメソッド
(method : 方法、手段)といい、属性のことをプロパティ
(property : 所有物、属性)といいます。
中身は見れずに、外でできるのは操作することとそれの機能をみることだけ。
###継承
オブジェクトには継承という概念があります。
機能を引き継ぐこと。
###多態性
継承を使うと、同じ属性・同じ操作でも、オブジェクトごとに異なる振る舞いになる場合があります。
よくわからん?・
###まとめ
データから設計するプログラミング手法。
中身を見せず、外では操作させ、見せる。