Например, предположим, у меня есть следующий базовый класс, для которого я не могу изменить исходный код
class Base {
def someMethod = ...
}
Если я определяю подкласс
class Sub extends Base {
override def someMethod = ...
}
, когда я делаю
val sub = new Sub
Тогда я автоматически "узнаю", когда вызывается someMethod, потому что запущен sub.someMethod.Однако я хотел бы избежать создания подклассов, поэтому мне было интересно, есть ли какая-нибудь техника, с помощью которой я мог бы сделать
class NotSubclass {
val Base = new Base
}
или аналогичный
И каким-то образом «присоединить» некоторый метод из Base, чтобы NotSubclass мог »знать "когда вызывался какой-то метод.Чтобы уточнить, что метод вызывается извне, я никогда не выполняю вызов в своем собственном коде.