Есть ли способ создать частный метод в XBL?
-
12-10-2019 - |
Вопрос
Есть ли способ создать частный метод в XBL?
--Обновить
Единственный документация На MDN ничего не говорит о частных методах, но это вики, которая не всегда завершена ..
Решение
Ответ на ваш вопрос заключается в том, что XBL не поддерживает частные методы. Тем не менее, это не означает, что вам просто нужно оставить свои публичные методы открыто выставленными и просто принять эту ситуацию без боя. Есть некоторые варианты, которые у вас есть в вашем распоряжении, которые могут помочь сообщить, что метод является частным или помогает отговорить, используя или изменяя их:
Используйте подчеркивание в названиях методов:
Mozilla рекомендует использовать подчеркивание, чтобы отметить методы и поля в качестве частных. Кроме того, многие библиотеки JavaScript используют подчеркивание в методах, которые разработчики хотят отметить как частные. Хотя начинающий разработчик может игнорировать это и все еще вызывать метод, большинство людей, которые имеют какой -то базовый опыт работы с библиотеками JavaScript, разработкой расширения Firefox или JavaScript в целом, должны знать, что вы имеете в виду, когда у вас есть метод, которым предшествует подчеркивание.
Используйте наследство, чтобы скрыть частные методы:
С глаз долой, из сердца вон.
На некоторых языках функциональность, которая является общей для ряда подклассов, часто перемещается в базовый абстрактный класс. В подклассе унаследованные методы не будут видны в коде подкласса.
Хотя это определенно не «частное», вы можете инкапсулировать свои «частные» методы в привязку XBL и поместить свои публичные методы в привязку XBL, которая расширяет связующую родительскую. Наследование является одной из самых мощных особенностей XBL, и это может помочь защитить ваши личные методы от использования просто потому, что они не появляются при связывании XBL, с которым разработчик напрямую взаимодействует.
Затем вы можете поместить обширные комментарии в родителе, которые описывают цель «частной» функциональности и что она не предназначена для публичной.
Имейте в виду, что даже если бы вы могли пометить метод как личный, это все равно не остановит кого -то, кто решит. Можно все еще просто отметить метод как «публичный» и все равно использовать его.
Вот документация о XBL, которая утверждает, что методы являются частными, а также обсуждает наследство:https://developer.mozilla.org/en/xul_school/custom_xul_elements_with_xbl