カスタムクラスと継承について(4)
2007/11/29 23:11 - AS3.0
「私、ActionScripter になる!」(小林沙苗の声で)
世の中には紫のバラの人(陰でこっそり援助をしてくれる人という意味合いで使っています)っているんですね。
前回まで3回にわたって、カスタムクラスから子クラスを記述する際の書き方について属性は何を指定したらイイのかよくわかんねー、と初心者丸出しの駄文をアップしていたら、先賢が懇切丁寧な説明をアップしてくださいました。
前回の記事を書いた後、「Adobe Flash CS3 詳細! ActionScript 3.0 入門ノート」の Section04-05「クラス継承を利用したカスタムクラス」を初めとして、継承や属性についての解説を読み返してみました。
それで public、private、protected の使い所はだいたいこんな感じなのかなぁ、というのが漠然とながら見えてきていたんですが、今回、flashrod 様から実に分かりやすい説明(アクセス制御は「そのメンバを利用する者が何であるかによって決めればよい」)をしていただき、自分の理解が間違っていなかったことを理解しました。
- 内部利用者(自分自身)… private
- 継承利用者(サブクラス)… protected
- 外部利用者(同一パッケージの第三者) … internal
- 外部利用者(異なるパッケージの第三者) … public
ただ internal というのは、昔からですが、よく分かりませんね。
意味は分かるけど、意義が分からない。
直系継承に関わる proteced は分かります。
でも同一パッケージとはいえ、継承関係のない、言ってみりゃあ無関係なクラス同士で非 public な(アクセス制限のある)属性って必要なんですかね?
まぁいっか。
自分の理解の範囲では privete、public、protected の三属性でクラス設計はフォロー可能という認識に達しました。
今後、internal の使い道が理解できたら、そのときは利用しましょう。
まぁ、ここいらへんは趣味でコードを書いているヤツのユルさってことで。