class P {
constructor() {..}
f() {..}
h() {..}
}
class C extends P {
constructor() {
..
super(..)
}
g() {..}
h() {..}
}
C.g()
が呼ばれた場合は、普通にC内のg()が呼ばれる C.f()
が呼ばれた場合は、Cにはないので、親であるPへメッセージが移譲され、Pの f()
が応答する h()
は親で定義されているが、子でも定義されている(override)ので、 C
の方の h()
が呼ばれる super
を呼ぶときに、子は親のことを知りすぎてはいけない