トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     クラスファイル内でのインスタンス作成
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
TJFORD
Åê¹ÆNo.37050
投稿日時: 2007-12-29 16:10
半人前
居住地: Tokyo
投稿: 42
使用環境:
:Flash CS3
クラスファイル内でのインスタンス作成
下記のようにクラスファイル(ファイル名:Inline)内でObjectクラスなどのインスタンス(インスタンス名:myObject)を作成します。そしてInlineクラスのインスタンスをflaファイル内で2つ作成します。一方のmyObjectに値を追加して、もう一方の値を調べると値が代入されています。
つまり、同じインスタンスを参照している?感覚では、各インスタンスにObjectのインスタンスが作成されていると思ったのですが…

クラスファイル内で作成されたあるオブジェクトのインスタンスというのは共通で利用されるのでしょうか?


class ファイル
------------------------------------
class Inline{
var myObject:Object = new Object();
function Inline(){};
}
------------------------------------

flaファイル
------------------------------------
var myInline1:Inline = new Inline();
var myInline2:Inline = new Inline();
myInline1.myObject.test = 10;
trace(myInline2.myObject.test);//出力:10
------------------------------------
野中文雄
Åê¹ÆNo.37051
投稿日時: 2007-12-29 16:43
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: クラスファイル内でのインスタンス作成
ActionScript 2.0では、インスタンスプロパティにオブジェクトを設定する場合には、インライン初期化せず、コンストラクタやメソッドで初期値を与える必要があります。

インスタンスとクラスのメンバ」より引用:
コンストラクタの外で'var'宣言されたプロパティは、クラスの'prototype'に定義されます。その値はいわばデフォルト値として、インスタンスの'__proto__'プロパティを通じて参照されます。インスタンス自身にプロパティを設定するには、コンストラクタ中で処理を行う必要があります

引用:
TJFORDさんは書きました:
下記のようにクラスファイル(ファイル名:Inline)内でObjectクラスなどのインスタンス(インスタンス名:myObject)を作成します。そしてInlineクラスのインスタンスをflaファイル内で2つ作成します。一方のmyObjectに値を追加して、もう一方の値を調べると値が代入されています。

ところで、以前のご質問「インスタンスについて」は、解決したのでしょうか?


----------------
 

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops