中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

東京でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2013/03

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

クラスコードのアクセス制御

public protected private internalいろいろありますが、あなたはどのように使い分けていますか?

C++においてより一般的だったのは出来るだけprotectedに置こうという考えだったのではないでしょうか?(みなさんはどうでしたか?)

C++では継承をさせないという方法が存在しない

Javaにおいてはデフォルトがvirtualということもありますし、継承をどんどん使うモデルでフレームワークというものを作っている関係もあり、protectedがメインのような気がします。

C#やVBやC++/CLIの場合にはどうでしょうか。

イベント駆動や、処理の異状などにはデリゲートが使えますし、デリゲートを使うべきだとされていますので、privateに配置することが多いのではないでしょうか?

フレームワーク的なものの製作者以外はprivateにしておいて必要に応じてprotectedやvirtualをつけるで十分ですから不必要にあいているよりはprivateにするほうがいいような気がします。

皆さんはどうでしょう。

投稿日時 : 2006年3月11日 22:41

コメントを追加

# re: クラスコードのアクセス制御 2006/03/11 22:43 中博俊

上記の言い分でいうならprivate -> protectedに変化させるならprivate -> internal protectedに変化させようという主張をした方がいいかもしれません。

# re: クラスコードのアクセス制御 2006/03/11 22:57 επιστημη

できる限り狭く狭く、ですあたしゃ。

# re: クラスコードのアクセス制御 2006/03/12 1:11 じゃんぬ

うん、private でしょう。

ぢつは J からの移行で躓いたのがデフォで NotOverridable のところとかデリゲード。

タイトル
名前
URL
コメント