まつもと ゆきひろです

In message "[ruby-list:7664] private and protected"
    on 98/04/21, 助田 雅紀 <masaki.suketa / tonen.co.jp> writes:

|助田です。

|ruby のインスタンス変数とか private なメソッドって、C++で
|いうところの protected に近いものだったんですね。

その通りです.

|で、質問というのは、C++の private に対応するようなもの
|(つまり、サブクラスからのアクセスも認めない)は
|ruby には存在するのでしょうか?

ないです.私はサブクラスは親の資産を全て受け継いでしかるべき
だと考えています.子供にも見せない部分を用意するC++は子供を
信頼してませんね.^^;;;

|#Timeクラスの仕様変更は結構影響受けた。今の方が使いやすいと思うけど。

すいません.できるだけ仕様を変えたくないんですが,将来に禍根
も残したくないんで時々ヒドイことをします.

ところで,1.1b9_05からはrubyにもprotectedってのがあります.
これはC++のprotectedとは違って

  * そのメソッドが定義されているクラスかそのサブクラスからし
    か呼び出せないメソッド

です.これが使いやすいのかどうかはいろいろなんですけどねえ
(だって再定義したら呼べるクラスが変っちゃうもの).まあ,こん
なのもあるよ,程度に考えて下さい.

                                まつもと ゆきひろ /:|)