オブジェクトと配列
オブジェクト指向
- Object(もの)
- プログラムの中で使うデータなどの「もの」を主体にした考え方
クラスとオブジェクト
- 「データの本体」と「データを操作するための手続き」を1つのまとまり「クラス」として管理します
- 言い換えると「クラス」には、オブジェクトが持つべきデータと、そのデータを操作する手続きを備えます
- 設計図と実体の関係
- Flashのライブラリにあるムービークリップとステージ上にあるムービークリップ(インスタンス)と同じ関係です(ステージに配置しなければ、見ることもできません)
- オブジェクト指向言語では、オブジェクトのことをインスタンスと呼ぶこともあります
カプセル化 (情報隠蔽)
- オブジェクトの振る舞いを隠蔽したり、オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの実際の型を隠蔽したりすること
- これは古典的な可視性の定義です
- TVが内部構造を知らなくても、見ることができるのに似ています
- クラスがどのように作られているかを知らなくても、使うことができます
インヘリタンス (継承)
- あるオブジェクトが他のオブジェクトの特性を引き継ぐ場合、両者の間に「継承関係」があると言われます
- クラスベースのオブジェクト指向に固有の概念です
- 既存のクラスを拡張して新しいクラスを作ることができる機能
ポリモーフィズム (多態性)
組み込みクラス
- ActionScriptにはあらかじめ組み込みのクラスがあります
- クラスは設計図なので、オブジェクトを作成して利用する
配列変数とは
- リストのこと
- いくつかの情報を番号と一緒に保管するためのもの
変数名[要素番号]
- 区切りを表す記号「[ ] ブラケット」を使います
- 要素番号を「添字」と呼びます
- 要素番号は「0」から始まります
var a:Array = new Array(); //オブジェクトを作る
var a:Array = new Array(); a[0] = 10; a[1] = 12; a[2] = 7; trace(a[1]);
※「var a:Array = new Array();」新しく変数配列をつくり、変数 a に代入する
この場合、出力パネルには「12」を表示します。
たとえば、曜日を順番をつけて表すと、以下のようになります。
0:日曜日
1:月曜日
2:火曜日
3:水曜日
4:木曜日
5:金曜日
6:土曜日
var week0:String ="日曜日"; var week1:String ="月曜日"; var week2:String ="火曜日"; var week3:String ="水曜日"; var week4:String ="木曜日"; var week5:String ="金曜日"; var week6:String ="土曜日";
この変数を使いやすくまとめます。
つまり「配列」にします。
配列の作り方
- クラスからオブジェクトを作るキーワード「new」を使う
- シンボルからインスタンスをつくるときと同じ考え方
- シンボルやクラスは「もと」になるもの
- そこから生まれたものは、すべて「オブジェクト」と呼ばれる
すでにデータが決まっている場合
var week:Array = new Array ("日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日","土曜日" );
配列の使い方
var week:Array = new Array ("日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日","土曜日" ); var message:String = "きょうは、" + week[0] + "です。"; trace(message);
配列とfor文
- 配列のすべてのエレメントを順番に見ていくには、for文を使って表示させます
- 「変数名.length」は、 Arrayクラスのプロパティで、配列の長さが入ります
var week:Array = new Array ("日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日","土曜日" ); for ( var i:Number = 0; i < week.length; i++ ) { trace(week[i]); }
var week:Array = new Array ("日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日","土曜日" ); for ( var i:Number = 0; i < week.length; i++ ) { this.week_txt.text += week[i] + "\n"; trace(week[i]); }
または、
var week:Array = new Array ("日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日","土曜日" ); for ( i in week) { trace(week[i]); }
この場合、カウントアップではなく「カウントダウン」で、後ろから順に抜き出します。
- 解説の続きは、「ActionScriptの勉強:配列」で
JavaScriptで配列
- ActionScriptと同じ使い方をします
var 配列名 = new Array (変数の数);
または、
var 配列名 = [変数の数];
var member = ['佐藤', '伊藤', '山田']; alert(member[2] + 'さん'); alert(member.length + '人登録されています。');
要素に複数の情報を入れる
var member = [ { name:'佐藤', age: 35 }, { name:'伊藤', age: 38 }, { name:'山田', age: 28 } ]; alert(member[2].name + 'さん'); alert('現在' + member[2].age + '歳です。');
- 解説の続きは、「JavaScriptの勉強:配列」で