2015-03-20 2 views

ответ

0

№ п. Если класс запечатан, он не должен быть получен. Вероятно, есть веские причины, по которым оно было выбрано для запечатывания; другие классы могут принять определенную реализацию, которую вы можете переопределить, если вы должны наследовать от класса.

1

Нет - вы не можете подклассифицировать класс Sealed, а matlab.graphics.primitive.Patch - это встроенный класс, поэтому вы не можете сделать (взломать) править, чтобы распечатать его.

Лучшее, что вы можете сделать, это использовать шаблон Adapter - создать свой собственный класс, хранения Patch как частный (и, возможно, скрытое) свойство, а затем обернуть все свои свойства и те свои собственные, реализующие set и get методы, которые передают значение в/из базового Patch. Сделайте что-нибудь подобное для любых методов Patch, которые вам нужны. Вам также может потребоваться прослушать события изменения свойств на Patch и ответить на них соответствующим образом.

Затем вы можете добавить свои собственные методы и/или изменить существующий метод и поведение свойств по мере необходимости.

+0

Да, эти идеи - это некоторые из тех вещей, о которых я думал сначала. Но мне было интересно, будет ли (аккуратный) недокументированный способ обойти это ограничение (например, путем доступа к базовым объектам java и т. Д.). Я фактически реализовал то, что вы предлагали на самом деле, но, как я уже сказал, мне интересно, существует ли более общий способ достижения такого же результата. – Sia

+0

К сожалению нет, не то, что я знаю. –

Смежные вопросы