お知らせ‎ > ‎

private、 protectedメソッドについて

2009/03/21 1:33 に SmalltalkUsers Admin が投稿   [ 2009/04/02 6:39 に更新しました ]
SmallTalk R4.1は、優れたアクセス制御機能を実装しています。privateとprotectedメソッドは、その最も基本的なものです。

書き方はたいそう簡単です。単にアクセス制御を行いたいメソッド内で、self privateやself protectedを自身に送るだけです。
methodA
    self private.
    ...

methodB
    self protected.
    ...

SmallTalkのすごいところは、メソッドの途中でもアクセス制御をアクティベートできるということです。つまり一見パブリックに見せかけておき、メソッドの後半でいきなりprivateにして、相手の気をくじくこともできます。Duck Typingをいいことに、やみくもにメッセージ送信を行ってくる輩に対して、おとり捜査を行うときなどに有効です。
また、ある条件に合ったときにはprivate、そうでないときはprotectedなどにすることもできます。どのような応用例があるかは、よくわかりませんが、皆さんならきっと何かに活用してくれるでしょう。


Comments