インスタンスの振る舞い【C#】
経緯
インスタンスメソッド、クラスメソッド、メソッドのあり方について考えてみた。
よく曖昧になるのだが、これらの使い方がたまに曖昧になる。
この中でインスタンスメソッドはその名の通り、インスタンスの振る舞いである。
これはオブジェクト指向において大事なポイントであろう。
別にインスタンスに振る舞いを書かなくても、そのインスタンスを外部からメソッドを呼べばいいではないか。
一番はオブジェクト指向的な設計になっているかどうかで考えるべきなのだろう。
犬というクラスに歩くというインスタンスメソッドは理解しやすい。
では犬というオブジェクトを作った後に、同じ内容の振る舞いを書いたとしたらどうなるのか。
1、プロパティがカプセル化できていない。
→プロパティを外部で利用することで保守箇所が増える。
めちゃ探さないといけない。
→ソースの管理がしづらくなる。
2、概念が異なってくる
→犬は歩くのか、犬は歩かすことができるのか
a dog walks なのか it makes dog work なのか。
主語の一致、文章性の統一を考えるのであれば、前者が良さそう。
文学的なコードは書きたくない。そうプロ グラマーならね。
しかし、最近はもうインスタンス変数を使わずにプロパティを使うことによって、インスタンス変数とプロパティがごっちゃになっているのではないか。その点の、熟考はまたにしよう。