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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     クラス内の変数について
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
youich
Åê¹ÆNo.3612
投稿日時: 2004-2-9 3:15
職人
居住地: kobe
投稿: 349
使用環境:
Re: クラス内の変数について
引用:


うわ…さらに分からなくなりました
値型と参照型とかいうやつでしょうか?
上の場合、参照型?のような感じですけど
はやくも挫折しそうです

野中さんが解説されてるのにいまさらなんですが(^^l
あるところに小学校があって、そこの1年3組のことを
Aさんは
「息子のクラス」
Bさんは
「娘のクラス」
と呼んでいるとします。

//
A.息子クラス=1年3組;
B.娘クラス =1年3組;
//

ここでAさんは息子のクラスに転校生が一人入ってきた事を聞きました。
//
A.息子クラス.転校生一人入る;
//

するとBさんの娘のクラスも人数が一人増えてしまっている。
オブジェクトや配列を参照しているというのもAさんやBさんが
同じ1年3組のことを「息子のクラス」、「娘のクラス」等と呼んでいるのと同じようなことです。。。
こんな説明じゃだめすか?(^^l

後は、protoypeや__proto__についての関係なんですが、
ASには__resolveという、そのオブジェクトに存在しないプロパティを
呼び出そうとしたときに呼び出されるメソッドがあります。

obj = new Object();
obj.__resolve = function(mes){
	trace(mes);
}
obj.unknownProperty();
//unknownProperty

これを使って考えると、もし?かしたらprototypeや__proto__の関係が
すんなり解るかもしれません、ややこしそうなら飛ばして下さい。

//ProtoExample.as
dynamic class ProtoExample{
    //__proto__をシュミレートするObject _proto
    var _proto:Object;
    
    function ProtoExample(proto:Object){
        _proto = proto;
    }
    
    //もしProtoExampleのインスタンスに無いプロパティが呼び出されたら呼ばれる
    function __resolve(prop:String){
    
    //引数にはいってきたものと同名のプロパティを_protoから探す
        var f = _proto[prop];
        
    //それがFunctionなら関数として返す。
        if( typeof f== "Function")
            return f.apply(this,arguments);
        
        return f;
    }
}
//example:
PROTOTYPE = new Object();
PROTOTYPE.prop = "prototypeProperty";
PROTOTYPE.datas = [1,2,3,4,5];

var obj1:ProtoExample = new ProtoExample(PROTOTYPE);
var obj2:ProtoExample = new ProtoExample(PROTOTYPE);


trace([obj1.prop,obj2.prop]);

//ex:obj1.prop = "instanceProperty";
obj1.prop = "instanceProperty";
trace([obj1.prop,obj2.prop]);

//ex: obj1.__proto__.prop = "OOps...";
obj1._proto.prop = "OOps...";
trace([obj1.prop,obj2.prop]);


trace([obj1.datas,obj2.datas]);
obj1.datas[0] = "X";
trace([obj1.datas,obj2.datas]);


----------------
- yo

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   クラス内の変数について takiguchi 2004-2-5 7:02
     Re: クラス内の変数について Fumio 2004-2-5 10:42
     Re: クラス内の変数について Fumio 2004-2-5 11:05
       Re: クラス内の変数について takiguchi 2004-2-5 20:09
         Re: クラス内の変数について Fumio 2004-2-6 9:59
           Re: クラス内の変数について takiguchi 2004-2-6 11:00
         Re: クラス内の変数について Fumio 2004-2-6 12:45
           Re: クラス内の変数について takiguchi 2004-2-6 14:53
             Re: クラス内の変数について youich 2004-2-8 13:43
             Re: クラス内の変数について youich 2004-2-8 15:54
               Re: クラス内の変数について takiguchi 2004-2-8 21:45
               » Re: クラス内の変数について youich 2004-2-9 3:15
                   Re: クラス内の変数について takiguchi 2004-2-11 11:51
                     Re: クラス内の変数について Fumio 2004-2-11 13:39
                       Re: クラス内の変数について takiguchi 2004-2-11 14:53
                     Re: クラス内の変数について youich 2004-2-11 22:27
                       Re: クラス内の変数について takiguchi 2004-2-12 2:14
                         Re: クラス内の変数について youich 2004-2-12 3:00
                         Re: クラス内の変数について Fumio 2004-2-12 22:33
                           Re: クラス内の変数について takiguchi 2004-2-13 11:41
             Re: クラス内の変数について Fumio 2004-2-8 22:09
     Re: クラス内の変数について Fumio 2004-2-5 11:16
       Re: クラス内の変数について tomohiro 2004-2-5 12:05
         Re: クラス内の変数について Fumio 2004-2-5 18:54
     Re: クラス内の変数について youich 2004-2-8 14:06
     Re: クラス内の変数について takiguchi 2004-2-9 21:32
       Re: クラス内の変数について youich 2004-2-9 22:47
         Re: クラス内の変数について takiguchi 2004-2-10 0:17
           Re: クラス内の変数について youich 2004-2-10 2:34

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