Просто используйте ключевое слово super
:
trait MemoHashCode {
val hashCode = super.hashCode
}
Это возможно, потому что каждая черта неявно расширяет AnyRef
, для которой определено hashCode
.Если вы хотите использовать методы, не определенные для каждого объекта, вы должны убедиться, что эта черта может быть смешана только с объектами, для которых реализован метод, который вы собираетесь использовать.Это возможно с помощью аннотации собственного типа:
trait MemoSomethingElse {
this: SomeType => // SomeType has method somethingElse
val somethingElse = super.somethingElse
}