Webサイト制作科 - 作品紹介

Webサイト制作科 - 作品紹介

オブジェクトと配列

オブジェクト指向

  • 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で配列



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の勉強:配列」で