我知道全局变量应该是坏的但可以创建全局类吗?我正在创建一个应用程序,我希望有一个处理声音的类。从任何课程我都希望能够说soundhandler.playSound();无需在整个地方传递引用。它应该知道它在那里。
任何帮助非常感谢。
答案 0 :(得分:2)
您指的是static
成员。
您的班级SoundHandler
会有一个名为playSound()
的静态方法,可以这样实现:
package
{
public class SoundHandler
{
public static function playSound():void
{
// @todo Logic
}
}
}
现在可以通过以下方式访问playSound()
方法:
SoundHandler.playSound();
注意:你提到全局方法很糟糕,但是这是一个完美的候选对象和我实际推荐的东西(尽管我讨厌使用静态)。
附加:ActionScript 3的Math
类主要包含静态成员,例如Math.round()
您的问题(评论):我是否需要在文档类中启动
SoundHandler
?
不,实际上你根本不应该创建一个SoundHandler实例。唯一的要求是您必须在当前类中导入SoundHandler
才能访问它:
import yourpackage.SoundHandler;