public protected private internalいろいろありますが、あなたはどのように使い分けていますか?
C++においてより一般的だったのは出来るだけprotectedに置こうという考えだったのではないでしょうか?(みなさんはどうでしたか?)
C++では継承をさせないという方法が存在しない
Javaにおいてはデフォルトがvirtualということもありますし、継承をどんどん使うモデルでフレームワークというものを作っている関係もあり、protectedがメインのような気がします。
C#やVBやC++/CLIの場合にはどうでしょうか。
イベント駆動や、処理の異状などにはデリゲートが使えますし、デリゲートを使うべきだとされていますので、privateに配置することが多いのではないでしょうか?
フレームワーク的なものの製作者以外はprivateにしておいて必要に応じてprotectedやvirtualをつけるで十分ですから不必要にあいているよりはprivateにするほうがいいような気がします。
皆さんはどうでしょう。