Есть ли способ создать частный метод в XBL?

StackOverflow https://stackoverflow.com/questions/4520668

  •  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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top