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

パスワード:


パスワード紛失

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

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
takiguchi
Åê¹ÆNo.3626
投稿日時: 2004-2-9 21:32
半人前
居住地: 東京
投稿: 38
使用環境:
Re: クラス内の変数について
(2004/2/10 修正)
以前の私の書き込みは、無駄が多くて見難かったため、
無駄を省きました…大掃除です。ついでにおさらいしてみました。
prototype,__proto__については自分が分かる範囲で修正しました。

非常に細かい事だと思いますが、コンパイルでエラーにならない潜在的なバグを
減らしたかったため、言語仕様的な本質についてちゃんと理解しておきたかったから
投稿させて頂きました。色々と教えてくださった野中さん、youichさんには感謝しております。

[おさらい]

■コンフリクト
特に気にする必要なし。
但し、メソッド内でインスタンスメンバを参照する場合は'this'を
クラス('static')メンバを参照する場合は'クラス名'をターゲットに指定するようにすると
不慮のスコープミスは防げると思われる。

■ActionScript 2.0の厳密な型指定
varステートメントによる変数の型指定は、自己申告であって、実際の変数の型はそれと異なる場合もある。
逆に変数の厳密な型指定(自己申告)をしなくても、実際の型というものは存在する。
(超?高級言語の仕様的な部分なのかも)

代入互換(コンパイラでエラーにならない代入)は…

●型指定なし変数 = 何でもOK;
●型指定あり変数 = 型指定なし変数;
●型指定ありA型変数 = A(B型); //無理やり型変換(キャスト) インターフェースの型等
●型指定ありA型変数 = B型; //A型がB型のスーパークラス
●型指定ありA型変数 = A型;

あとは、変数ごとに「専用の箱」が用意される「基本型」と、
一つの箱が用意されて、変数ごとにその箱を開ける「鍵」が渡されるような「参照型」
の違いがあるので注意!(これから勉強)

「参照型」はオブジェクトデータ型とも呼ばれるみたいでArray型とかObject型が
それに当たるみたい。たぶん、これらの型はメモリを大量に消費する可能性があるため、
変数ごとに専用の特大な箱を用意してたら、すぐ一杯になっちゃうからだと思う。

ちなみに、引数の型を指定する時は下記のように書いちゃダメ!
エラーにならないのはバグかもしれないし、型指定の観点からは無意味です。
---------------------------------------------------------------------
//MyClass2.as
class MyClass2 {
    function method(param1, param2):Void {
        var param1:String;
        var param2:Number;
        trace("param1:"+param1+", param2:"+param2);
    }
}
---------------------------------------------------------------------
//MyClass2a.as
class MyClass2a {
    function method(param1:String, param2:Number):Void{
        var param1:String=new String();
        var param2:Number=new Number();
        trace("param1:"+param1+", param2:"+param2);
    }
}
---------------------------------------------------------------------


■オーバーロード(同名の異なるメソッドを定義)
無理!
それに近いことをするなら引数の型を指定せずに(もしくはObject型)、
引数を素通りにさせて、メソッド内で条件分岐する。

■prototype,__proto__
難しいので、今勉強中!
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   クラス内の変数について 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