16. Costanti ed Enumerazioni


Costanti

Possiamo definire le costanti come delle variabili di sola lettura, poichè una volta dichiarate e definite, non sarà possibile modificarne il valore in fase di run-time.

Nella dichiarazione di una costante è possibile omettere la parola chiave var, utilizzando solamente la direttiva const in questo modo :

const MAX_UTENTI:int = 10;

Nella stessa maniera è possibile dichiarare delle costanti come attributi di una classe :

package
{
	public class ChatRoom
	{
		public const MAX_UTENTI:int = 10;
		public var nome_stanza:String;

		// ...
	}
}

Le costanti possono essere anche statiche, in modo che siano appartenenti solo alla classe e quindi non utilizzabili tramite istanze.


Enumerazioni

Le enumerazioni sono un buon metodo per racchiudere sotto un'unica classe, un gruppo di nomi a cui corrispondono dei determinati valori che possiamo conoscere a priori.

Le enumerazioni in ActionScript 3 non sono direttamente supportate come in C++ o in C#, ma è comunque possibile usufruire di questa metodologia di programmazione dichiarando una classe con delle costanti pubbliche e statiche, come avviene in PHP 5.

Vediamo un esempio :

package
{
	public final class Colori
	{
		public static const Rosso:String = "#FF0000";
		public static const Verde:String = "#00FF00";
		public static const Blu:String = "#0000FF";
		// ...
	}
}

Potete anche creare un'istanza della classe "Colori", ma questa sarà inutile in quanto non possiederà alcun metodo o attributo utilizzabile, semplicemente ActionScript 3 non esegue alcun controllo di questo tipo.

HelloWorld.as

package
{
	import Colori;
	import flash.display.MovieClip;

	public class HelloWorld extends MovieClip
	{
		public function HelloWorld():void
		{
			trace("Il valore esadecimale del colore rosso è " + Colori.Rosso);
		}
	}
}

L'esempio produce il seguente output :
Il valore esadecimale del colore rosso è #FF0000