有没有办法在XBL中创建私有方法?

时间:2010-12-23 16:37:49

标签: encapsulation xbl

有没有办法在XBL中创建私有方法?

- 更新

MDN上唯一的documentation没有说私有方法,但它是一个并不总是完整的维基。

1 个答案:

答案 0 :(得分:2)

您的问题的答案是XBL不支持私有方法。但是,这并不意味着你只需要公开暴露你的公共方法,只是接受这种情况而不打架。您可以使用一些选项来帮助传达方法是私有的或帮助阻止使用或修改它们:

在方法名称中使用下划线

Mozilla建议使用下划线将方法和字段标记为私有。此外,许多JavaScript库在开发人员希望标记为私有的方法中使用下划线。虽然新手开发人员可以忽略这一点并仍然调用该方法,但是大多数具有JavaScript库,Firefox扩展开发或JavaScript的基本经验的人一般应该知道当你有一个以下划线开头的方法时你的意思。

使用继承隐藏隐私方法

看不见,心不在焉。

在某些语言中,一系列子类通用的功能通常会移动到基本抽象类。在子类中,继承的方法将不会在子类代码中看到。

虽然这绝对不是“私有”,但您可以将您的“私有”方法封装在XBL绑定中,并将您的公共方法放在扩展父绑定的XBL绑定中。继承是XBL最强大的功能之一,这可以帮助保护您的私有方法不被使用,因为它们不会出现在开发人员直接与之交互的XBL绑定中。

然后,您可以在父级中添加大量注释,这些注释描述了“私有”功能的用途,并且它不是公开的。

请记住,即使您可以将某个方法标记为私有方式,这仍然不会阻止某些已确定的方法。人们仍然可以简单地将该方法标记为“公共”并使用它。

这是关于XBL的文档,它断言方法是私有的,还讨论了继承: https://developer.mozilla.org/en/XUL_School/Custom_XUL_Elements_with_XBL