网上查了一下,Flex里是没有枚举类型的。如果想要一个类似的功能,只能自己实现。
枚举类关键在于变量只能引用,而不能自己构造,所以在构造方法里动动手脚即可。
根据Flex类加载的一些特性,我的实现如下:
package {
public class Direction {
public static const UP:Direction = new Direction(0);
public static const DOWN:Direction = new Direction(1);
public static const LEFT:Direction = new Direction(2);
public static const RIGHT:Direction = new Direction(3);
private static var _limit:Boolean = limit();
private var _value:Object;
public function Direction(value:Object) {
if (_limit) {
throw new Error("Cannot initialize Enum outside!");
return;
}
this._value = value;-
}
private static function limit():Boolean {
return true;
}
public function toString():String {
switch(this._value as int) {
case 0:
return "Up";
case 1:
return "Down";
case 2:
return "Left";
case 3:
return "Right";
}
return "Undefined direction!";
}
}
}
对于static变量的加载,是在类刚开始加载的时候执行的。_limit在最后也就是其他枚举变量加载完毕后加载,值被设置为true,那么在以后调用构造方法的时候就会抛出错误。
测试代码:
private function init():void {
var week:Direction = Direction.UP;
var t:Direction = Direction.LEFT;
trace(week);
week = Direction.DOWN;
trace(week);
week = Direction.LEFT;
trace(week);
if (t == week) {
trace("t is " + Direction.LEFT);
} else {
trace("t is not " + Direction.LEFT);
}
week = Direction.RIGHT;
trace(week);
if (t == week) {
trace("t is " + Direction.LEFT);
} else {
trace("t is not " + Direction.LEFT);
}
week = new Direction(31);
trace(week);
}
结果:
引用
Up
Down
Left
t is Left
Right
t is not Left
Error: Cannot initialize Enum outside!
at Direction()[C:\Users\Henry\Adobe Flash Builder 4\EnumerationTest\src\Direction.as:14]
分享到:
相关推荐
Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类...
Enum 枚举类型是 Java 5 中引入的一种新特性,旨在解决传统的 int 枚举常量的缺陷。 1. 枚举语法 在 Java 中,枚举类型是用 enum 关键字来定义的。枚举元素列表必须写在枚举类的最前面,每个元素之间用逗号隔开,...
枚举默认继承`java.lang.Enum`类,因此它们不能直接继承其他类,但可以实现接口。这使得枚举可以具有特定的行为。 6. **枚举常量的遍历** 可以通过for-each循环遍历枚举的所有实例,如: ```java for (Color ...
包含了关于枚举类的应用,以及枚举类和接口的组合应用,扩展映射关系。很有用的工具类。
枚举Enum的一些案例 枚举(enum)是一种特殊的值类型,它从 System.Enum 继承而来,并为基础的基元类型的值提供替代名称。枚举类型有名称、基础类型和一组字段。基础类型必须是一个内置的有符号(或无符号)整数...
枚举(enum)在编程语言中是一种非常有用的类型,它允许我们定义一组命名常量,这些常量通常代表一组相关的值。在C#中,枚举(enum)被广泛用于增强代码的可读性和可维护性。下面我们将深入探讨C#中的枚举用法。 一...
本项目"test-enum-demo-master"显然是一个用于演示如何通过反射来操作枚举类的示例。 首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义一组相关的固定数量的值,这些值通常代表常量。例如: ```java ...
枚举(Enum)作为编程语言中一种特殊的类型,为开发者提供了一种简洁、清晰的定义一组命名常量的方式。在C#语言中,枚举是通过`enum`关键字定义的,其本质上是一种结构体,与整型(int)紧密相关联,但提供了更丰富...
本篇将详细介绍如何利用枚举(enum)来实现单例模式,并结合`Properties`类解析配置文件。 首先,我们来看一下传统的单例模式实现方式,如懒汉式和饿汉式,但这些方法在多线程环境下可能会存在问题。而使用枚举实现...
主要测试了枚举类的饿汉式加载机制 / 单例机制。 代码中包含枚举类的基本使用,和完整的请求示例。 主要实现了枚举类创建单例后,将结果返回给前端。 看过一些其他人的实现,都比较麻烦。这是结合一些博主的代码,...
在Java中,枚举类型不是简单的常量数组,而是一种完整的类,具有类的所有特性,如方法、构造函数和继承。下面将详细探讨`Enum`的基本概念、用法以及一些高级特性。 首先,枚举类型`Enum`的定义方式如下: ```java ...
### C++中的枚举类型(Enum) 在C++编程语言中,枚举(`enum`)是一种用户定义的类型,它由一组具有整数值的命名常量组成。这些值可以被程序用来代替数字,使代码更具可读性,并且能够表示特定范围内的固定集合。 ...
对于任何级别的C#开发者,理解变量、枚举(enum)和数组是至关重要的基础概念。下面将详细介绍这三个主题。 **1. 变量** 变量在编程中扮演着存储数据的角色。它们可以是各种数据类型,如整型(int)、浮点型(float...
通过以上内容,我们可以看出Java的`enum`枚举类不仅限于简单的常量集合,它还支持丰富的特性,如方法、接口、构造函数等,使得枚举成为编写简洁、安全、可维护代码的重要工具。在实际编程中,我们应该根据需求灵活...
在Java编程语言中,枚举(enum)是一种特殊的类,用于定义一组固定的常量。它在许多场景下比使用常量或int类型的硬编码值更安全、更具可读性。本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用...
枚举类型是一种特殊的类,实际上 enum 声明定义的类型就是一个类,这些类都是类库中 Enum 类的子类(java.lang.Enum)。它们继承了这个 Enum 中的许多有用的方法。 1、枚举类的特征 枚举类是特殊的类,其枚举值...
Java 枚举(enum)是 Java 语言中的一个重要特性,自 Java 5 开始引入。枚举用于定义一组相关的常量,这些常量通常代表一个有限的、预定义的值集合。枚举类是一种特殊的类,它具有以下特点: 1. **枚举类的声明**:...
enum枚举的方法
枚举的特性: 1. 枚举的本质是 java.lang.Enum 的子类。 2. 枚举是一种特殊的类,因为被修饰为 final,所以不能继承其他类。 3. 枚举值本质上是静态常量,定义的枚举值会被默认修饰为 public static final。 4. ...
Java中的枚举(enum)类型是在JDK 1.5版本引入的一个强大的特性,它用于定义一组相关的常量。在C/C++等语言中,枚举通常用来表示一组具有固定值的常量集合,但在Java中,枚举不仅限于此,它提供了更多的功能和灵活性...