Smalltalk Cult Quiz!

Answers

aided by
STEVEN J. METSKER "Charting Your Knowledge of Smalltalk"
Object Magazine 6(7),1996

'super'を記述したメソッドの受け取りて自身。self。superによって参照されるオブジェクトは、selfと同じである。ただし、投げられたメッセージに対する、メソッドの検索の順番が自分のスーパークラスからになる点で、selfとは区別される。

例:

A は Bのスーパークラスとする。Bのインスタンスメソッドにおいて

self doSomethingと書いた場合、BのインスタンスはBクラスで定義されたdoSomethingのメソッドを検索し、実行する。Bクラスで定義されていなければ、Aクラスの定義を探す。

super doSomehingと書いた場合、BのインスタンスはAクラスで定義されているdoSomethingのメソッドを検索し、実行する。Bクラスの定義は無視される。ただしメッセージの受け取り手はあくまでBのインスタンスであることに注意。Aのインスタンスが super doSomothingで生成されるわけではない。動作しているのはあくまでBのインスタンス。

|back|


ご意見は umejava@mars.dtinet.or.jp まで