デフォルト値を使って引数を省略する

(サンプル一覧を表示する)

デフォルト値を使って引数を省略するテストをしてみました。

引数にデフォルト値を設定することで、省略可能な引数を定義することができます。
また、省略する引数は、引数リストの最後に集める必要があります。

例えば、3 つの引数を定義するとすると、 2 つ目だけを省略することはできません。
2 つ目を省略する時は、3 つ目も省略する必要があります。
1 つ目を省略する場合は、2 つ目、3 つ目も同様に省略する必要があります。

このような制限があるので、引数リストは重要な引数から順に並べて行くなどして、
省略不可能なものを前に持ってくる必要があります。
Flash の実行画面
デフォルト値を使って引数を省略する

Flashプレーヤーが入っていないか、JavaScriptが無効になっているようです。

Get Adobe Flash player

デフォルト値を使って引数を省略する
この例では、1 つのメソッドに対して、
3 つのパターンで引数を指定しています。

ソースコード

package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	
	/**
	 * デフォルト値を使って引数を省略するサンプル
	 * @author Hikipuro
	 */
	public class Main extends Sprite 
	{
		
		/**
		 * コンストラクタ
		 */
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		/**
		 * 初期化メソッド
		 * @param	e
		 */
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			
			// 赤色の四角形を描く。
			// 引数は色以外全て省略。
			testFunction(0xFF0000);
			
			// 緑色の四角形を描く。
			// 引数は色と座標のみ指定する。
			testFunction(0x00FF00, 100, 20);
			
			// 青色の四角形を描く。
			// 引数は全て指定する。
			testFunction(0x0000FF, 200, 40, 60, 100);
		}
		
		/**
		 * 四角形を描くメソッド
		 * @param	color	塗りつぶす色
		 * @param	x		X 座標 (省略可)
		 * @param	y		Y 座標 (省略可)
		 * @param	width	幅 (省略可)
		 * @param	height	高さ (省略可)
		 */
		private function testFunction(color:uint, x:int = 10, y:int = 10, width:int = 30, height:int = 30):void 
		{
			// 枠線を描かないようにする
			graphics.lineStyle();
			
			// 中を塗りつぶした四角形を描く
			graphics.beginFill(color);
			graphics.drawRect(x, y, width, height);
			graphics.endFill();
		}
	}
	
}
		

外部リンク