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

パスワード:


パスワード紛失

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

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
takiguchi
Åê¹ÆNo.3548
投稿日時: 2004-2-5 20:09
半人前
居住地: 東京
投稿: 38
使用環境:
Re: クラス内の変数について
(2004/2/9 修正)
■コンフリクトについて
分かりやすい説明で感激しています。
コンフリクトに関してはそれほどナーバスにならなくても
良いような気がしてきました。

■スコープチェーンについて
thisのスコープに戸惑うことがありますが、なんとなく分かってきました。
クラスのメソッド内でthisを使用すると、そのクラスのインスタンスを参照する!?
という考えで正しいでしょうか?
メソッド(関数)内の変数(ローカル変数)とプロパティ(タイムライン変数)を区別するために、
メソッド内でプロパティを参照する時は、thisを付ける癖を付けておいた方が良い
との結論に達しましたけど…間違っていたら訂正してください。

■ActionScript 2.0の厳密な型指定について
ところで「var」って何者?ってことで以下のような実験です。
例1)
------------------------------------------------------------------------------------------------------------------------
//FLAファイル
//メインタイムライン:フレーム1
//インライン初期化なし型宣言
var a:String;
trace("a type:"+typeof(a)); //出力 a type:undefined

a=this; //String型で宣言し、MovieClip型で初期化
trace("a type:"+typeof(a)); //出力 a type:movieclip

//コードヒントの確認…aはMovieClip型なのにString型のコードヒントが表示される
a.
------------------------------------------------------------------------------------------------------------------------

変なことが起こってしまいました。
指定した型とは異なる型で初期化が出来てしまいました。
インライン初期化しないとダメなのでしょうか?
'var'を使った宣言でインライン初期化しない場合は、
宣言された変数の型は'undefined'となり、型がまだ定まっていないようです。

それから、インライン初期化についてちょっと質問が…
紹介していただいたFN0310006「クラスの作成と使用」
「インスタンスごとにプロパティを設定したい場合には、
その値をコンストラクタ関数内で設定する必要があります」
との記載がありますが、AS1.0の経験がないために'prototype'プロパティと
staticキーワードの区別がなかなかつきません。
コンストラクタ関数内で初期化しないプロパティはstatic的なものになるような
感じがしちゃうんですけど…でもちょっと違う気も…

質問ばかりで恐縮ですが、宜しくお願い致します。

■オーバーロードについて
---------------------------------------------------------------------
//MovieClip.as内
function gotoAndStop(frame:Object):Void; // frame can be String or Number
---------------------------------------------------------------------

Objectクラスは、すべてのクラスに継承されてるのであれば、
「引数の型にObjectを指定する」=「引数の型を指定しない(なんでもあり)」
という意味に考えても差し支えないのでしょうか?…とちょっと手抜き思考

function gotoAndStop(frame):Void; // frame can be String or Number

引数の型をある範囲で限定できないのが、ちょっと不便な気がしますけど、
オーバーロードが実装されていないだけに仕方ないです…
フラット表示 前のトピック | 次のトピック

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