假设我有一个特征A
和一个A1
扩展类A
:
trait A
class A1 extends A
并A1
具有一些独特的属性:
class A1 extends A { val hello = "hello" }
我有一个方法,我想处理 trait 的所有子类A
:
def handle:A = new A1
但是,如果我尝试访问 A1 中定义的唯一属性,可以理解的是,它不起作用:
scala> handle.hello
<console>:11: error: value hello is not a member of A
handle.hello
^
处理完A
asA
的子类的实例后,如何再次使用它们的所有独特属性访问它们?这种机制如何运作?