【发布时间】:2010-02-14 05:38:21
【问题描述】:
我有一个静态属性,我想通过导入它的类而不实例化该类的对象来访问它。这可能吗?
基本上我在一遍又一遍地写一堆 styleSheet 对象。我想如果我有一个名为 CSS 的类并且像这样:
package com
{
import flash.text.*;
public class CSS
{
public static var STYLE_SHEET:StyleSheet = new StyleSheet();
并在构造函数中分配它的所有属性,例如:
public function CSS
{
//NAV BUTTON
var navButtonBlock:Object = new Object();
navButtonBlock.color = "#000000";
navButtonBlock.fontSize = "25";
navButtonBlock.fontFamily = "Arial";
navButtonBlock.marginLeft = "5";
navButtonBlock.kerning = "true";
navButtonBlock.fontWeight = "bold";
//TITLE
var titleBlock:Object = new Object();
titleBlock.color = "#CCCCCC";
titleBlock.fontSize = "25";
titleBlock.fontFamily = "Arial";
titleBlock.marginLeft = "5";
titleBlock.kerning = "true";
titleBlock.fontWeight = "bold";
STYLE_SHEET.setStyle("code", titleBlock);
STYLE_SHEET.setStyle("navButton", navButtonBlock);
}
如果我将类导入到我希望使用它的类中:
package{
import com.CSS;
在我的课堂上使用如下变量:
textField.styleSheet = CSS.STYLE_SHEET;
我可以省去一些麻烦。 我觉得奇怪的是我创建了该类的一个实例来访问它的常量。所以在类头中我必须写:
private var css:CSS = new CSS();
即使我从未使用过这个对象...
这有意义吗?我会以错误的方式解决这个问题吗?
-J p.s.谁希望 tab 键在这个问题编辑器窗口中起作用?
【问题讨论】:
标签: actionscript-3 class constants