// Scalaで
class Base {
protected def func = {}
}
class A extends Base {
(new A).func // (A)
}
class B extends A {
(new A).func // (B)
}
class C extends Base {
(new A).func // (C)
}
// ってやると(B)(C)がエラーになる。
// (C)はまだわからないでもないが、(B)がエラーになるのがわからない。
// (たとえoverrideされてたとしても)funcの中身まで知ってるのに呼べないとか。
// うーむ。
ツイートシェア