RunningCSharpスマートフォン用の表示で見るRunningCSharpMicrosoft系開発者による、雑多な記事。記事は個人の見解であり、所属組織を代表するものてはありません。この広告は、90日以上更新していないブログに表示しています。本記事は、「オブジェクト指向の考え方は、普段の人間の認識と近いと感じた」ということを言いたいだけの、緩い記事です。オブジェクト指向言語特有の機能を主軸とした話ではありません。~~~オブジェクトとは、「物」です。「物」は、状態を示す「データ」と、能動的または受動的に行われる「振る舞い」の塊と捉えることが出来ます。「ノートを持つ」「ノートに文字を書く」「ノートの文字を消す」「ノートのページを剥がす」など、物に関連する「振る舞い」があります。上記のように、「データ」と「振る舞い」の塊である「物」には、「役割」を与えられます。リングノートであれば「会議用のメモ帳」、「子供のお絵描き帳」、「家計簿」などの役割を与えられます。場合によっては「扇子の代わり」、「チリ紙」、「(丸めて)メガホンにする」「背中に入れてコルセット代わり」といった役割を担わされる場合もあります。「リングノート」を見て、「これ、メモ帳かな」と思うことはあっても、「これ、チリ紙だな」とは思わない事でしょう。物に対し本来の「役割」と異なる使い方をしてしまう事も、稀にあります。本記事では、これを「誤用」と呼びます。開いて文字を書き、記録を行うもの」という「文脈」を読み取る事で、何の説明を受けずとも、本来の「役割」通りにリングノートを扱っている事と思います。今度はソフトウェアにおける例を見てみましょう。「DB接続」「セッション確立」「データ操作」「コミット」「ロールバック」「DB切断」などの振る舞いを作ることでしょう。上記のオブジェクトは、当然「データ接続を行うもの」であることが明白であるため、それ以外の何かとして「誤用」される可能性は必然的に低くなります。「誤用」が減る理由の一つに、「DB接続オブジェクトはDB接続に使うもの」という「文脈」が生まれる事によるものが考えられます。当たり前の話なのですが、上記の「文脈」による「誤用」の抑制は、オブジェクト指向を用いるメリットとして大きいかと感じ、書かせて頂きました。最後に、ちょっとオブジェクト指向言語の話をしてしまいます。これまでの構造化言語でも、ファイル単位やスコープ、構造体を用いたデータ集約などを用いて、データと振る舞いの関係性を整理していくことは可能です。作り手のポリシー差異や作成期間の問題で、データと振る舞いが正しい関係性が保てなくなってしまうことが、少なくはなかったと思います。オブジェクト指向言語は、データと振る舞いをより簡単に整理することが出来るため、データと振る舞いの関係性を保ちやすくなっております。(もちろん、絶対「誤用」はない、と保証するものではありませんが。カプセル化などの特徴で、再利用性と利便性を向上など、さらなるメリットが提供されております。»プロフィールid:ys-soniclabC#+XAMLの開発話。記事は所属組織とは関係のない、個人の見解です。.NETWindows開発者プログラミングはてなブログをはじめよう!ys-soniclabさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。