self と super
selfとsuperを考えると改めてSqueakというのは奥が深いと思います.
普段なんとなく使っていますが,意外に難しい.
とりあえずSqueakのself と superをしっかり理解することに.
superとselfは同じオブジェクト.
なのでsuperもレシーバーオブジェクトを参照しているのですが,selfとの違いはmethod探索ときに「実行中のメソッドの属するクラスのスーパークラスから始める」ようです.
Squeak by Exampleとか自由自在Squeakに載っています.(こういうことを書くのはもしかして著作権違反?)
なんとなくsuperをレシーバーオブジェクトのsuperclassを示すものと勘違いしてしまうので注意しないと・・・.(はじめてのときはそう思っていた)
superの「実行中のメソッドの属するクラスのスーパークラスから始める」という仕様はsuperの使い道がmethodの再利用だからなのでしょうか?
他のOOLはどうだったか調べてみよう.
どうでもいいですが,TwoPTextEditerのLinkを直しました.
TwoPTextEditer0.01.st
0 件のコメント:
コメントを投稿