Я хотел бы вставить методы класса для динамического расширения объекта.
Я уже знаю о материале java.lang.reflect.Proxy, но он слишком ограничен для реального вставления.
С Использование java.lang.reflect.Proxy для вставкив Java Class Methods первое ограничение:
(...) метод должен вызываться через экземпляр прокси-класса.Так, например, вызовы вложенных методов не будут перехвачены.
И худший:
(...) метод должен быть определен в интерфейсеэто реализуется объектом, который проксируется.Его нельзя вызвать через экземпляр класса, который не реализует интерфейс.
Объект, который я хотел бы расширить во время выполнения, не реализует никакого интерфейса, и, что хуже всего,методы, которые мне нужно переопределить, являются вложенными и приватными.
Я знаю, что это довольно просто в Python & C, и в приведенной выше статье говорится, что это возможно:
Следующийстатья в этой серии будет иллюстрировать некоторые методы преодоления этих ограничений.
К сожалению, я не могу найти эту статью.