C#と諸々

C#がメインで他もまぁ諸々なブログです
おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`)
つーかコメント欲しい(´・ω・`)

--/--/-- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
タグ:
トラックバック(-) | コメント(-) | このエントリーを含むはてなブックマーク
2006/07/24 19:46
拡張させることのないクラスにはsealedキーワードを付加してシールクラスとすること。
拡張させることのないメンバにはvirtualキーワードを付加しないこと。
シールすることによりコンパイラが最適化してくれる。また、他者に自分の意図しない拡張をされることも防げる。(場合によっては防げないけど・・・w)

拡張させることがわかってるクラスや、拡張させる可能性が充分あるクラスは当然シールするわけにはいかないが、それ以外のクラスって大概はシールしちゃっていいと思う。
「あとで機能追加させたい時に困る」なんてのはおかしい。そのクラス自体に手を入れれば済んだりするし(つーか、それで済むならそうすべき)、本当にそのクラスを継承して拡張させたい場合もsealedキーワード取り除いてメンバを適切にvirtualにすれば済むだけの話だし。

個人的には、クラス作成時にデフォルトでsealedキーワードが書き込まれてて欲しいな。
スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。