![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.1ベストアンサー
- 回答日時:
” private ”を付けて宣言した変数は、その名の通り、クラスの内部で私的に使用されるプロパティになります。
クラスの外に公開し、スクリプトで
オブジェクト名.プロパティ名
の形で参照できるようにするには” public ”を付けます。
何も付けずに宣言した変数や関数は public と見なされるので、省略しても構いません。
ActionScript 2.0 のクラスの場合ですが、1つのクラスにつき1つの as ファイル(外部 ActionScript ファイル)を作成して定義します。
as ファイルにはクラス名と同じ名前を付けます。例えば、クラス” A ”を定義する as ファイルは、” A.as ”という名前で保存します。
フォルダにいくつかのクラス定義ファイルをまとめて整理(パッケージ化)することもできますが、今回は扱いません。
とりあえず、作ってみるとしましょう。
お使いの Flash のバージョンが書かれていませんので、さしあたって Flash 8 を例に説明します。
「ファイル」メニュー→「新規...」で、”一般”のタブから” ActionScript(AS)ファイル”を選択してください。
「アクション」パネルと同様のスクリプト編集画面になりますから、クラスを定義するスクリプトを書きます。
今回のクラスは、単純に、new 演算子でオブジェクトを作る際にパラメータを2つ受け取り、これをクラスのプロパティに設定するだけのものとします。
クラスを定義するスクリプトは、大体、次のようになります。
(↓各行頭に全角のスペースが入っています。コピーする際は、全て半角のスペースかタブに置き換えてください)
class A
{
//画像のURLとタイトルを保持するプロパティ
public var url:String;
public var picture:String;
//コンストラクタ
//引数 pic_url:URL pic_title:画像タイトル
public function A( pic_url:String , pic_title:String )
{
//プロパティに引数の値を設定する
this.url = pic_url;
this.picture = pic_title;
}
}
このスクリプトを、” A.as ”の名前で、このクラスを使う fla ファイルと同じフォルダに保存してください。
****************************
次に、クラスを使う fla ファイルを作成します。
クラスは ActionScript 2.0 以降で使用できます。1.0 でも似たようなことは可能ですが、いわゆるクラスとは少し違いますので、ここでは 2.0 のクラスとして話を進めます。
「パブリッシュ設定」で ActionScript のバージョンが 2.0 になっていることを確認して、以下のようなスクリプトをフレームに記述してみてください。
import A;
//オブジェクトを作成
pic_obj1 = new A( "http://okwave.jp/" , "トップ" );
pic_obj2 = new A( "http://okwave.jp/qa3482975.html" , "この質問" );
//チェック
trace( "URL = " + pic_obj1.url );
trace( "タイトル = " + pic_obj1.picture );
trace( "URL = " + pic_obj2.url );
trace( "タイトル = " + pic_obj2.picture );
「ムービープレビュー」で、確認してみてください。
「出力」パネルに
URL = http://okwave.jp/
タイトル = トップ
URL = http://okwave.jp/qa3482975.html
タイトル = この質問
と表示されれば、成功です。
-----------------------------------------------------------
クラスのオブジェクトが作られる時、クラス内にある、クラス名と同じ名前を持つ関数が最初に呼び出されます。
この関数を”コンストラクタ”と言います。
コンストラクタは、作られたオブジェクトがこれから行う処理のために必要な初期設定などを済ませることが主な目的ですが、初期設定の必要がなければ、何もしない空っぽの関数にしておくこともできます。
(なお、クラスにコンストラクタが定義されていない時は、何もしないコンストラクタが自動的に作成されます)
今回のコンストラクタでは、new A で渡されてくる2つのパラメータをそれぞれ、プロパティである url と picture に設定しています。
クラス A の中では、url と picture という2つの変数を定義しています。
public を付けているので、この2つは公開されるプロパティです。
普段のスクリプトの中では
オブジェクト名.url
オブジェクト名.picture
で参照できます。
今回は受け取ったパラメータを、単にプロパティに代入しているだけですが。
例えば URL の” http:// ”が抜けていたり、パラメータが2つ必要なのに1つしかなかったなど、何らかの不備がある場合も考えられます。
これからの処理に悪影響を及ぼす可能性はないか、コンストラクタの中でチェックし、問題があるならそれなりの処理をしてからプロパティに設定すると、より頑丈なクラス設計になります。
クラスの話は複雑です。
本当に単純で基本的なクラスの例ですが、ご参考までに。
この回答へのお礼
お礼日時:2007/11/05 09:17
ものすごく詳しく説明くださり
ありがとうございます。
すぐには理解できないのですが
何度か考えながらゆっくり見てみます。
本当にありがとうございました!!!!
すみません><
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript 正規表現について質問です。条件に合う場合はtrueを返したい 3 2022/10/06 23:02
- Java java final 1 2022/06/10 22:49
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- JavaScript gasについて 1 2022/05/31 21:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
arduino プログラムについて
-
スマホでサイトの画像を長押し→...
-
この曲はなんでしょう?
-
フラッシュゲームアーカイブ2
-
Flashは2020年にサポートが終了...
-
potplayerについて質問です
-
ボカロ動画はFlash?HTML5?
-
flash (.swf) を編集したい
-
FLASHでゲームを作っていた人は...
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
actionscript3.0,hitTest()
-
FLASHでの色変更
-
[Flash5] 変数にアクセスできな...
-
flashの背景色(stageの色)を...
-
flashで画面いっぱいに拡大でき...
-
ランダム配置のムービークリッ...
-
ActionScript3.0についての質問...
-
画像をステージに読み込む方法 ...
-
JavaScriptを利用して
-
FLASHを使ったアプリケーション
-
フラッシュのアクションスクリ...
-
ActionScriptのイベント処理で...
-
flashのクラスで
-
いつも楽しくこの掲示板を見て...
-
FLASHからちいさいウィンドウを...
-
ActionScript
-
見る人のブラウザサイズに合わ...
-
FLASH 8 でバケツツールで上手...
-
ラグランジュ補間のプログラムです
-
Flash5:2つのGIF画像でシェイ...
おすすめ情報