AS3中的强制类型转换 as3は、強制的変換
07月29th, 2007 — Dreamer 07月29日、 2007年-ドリーマー每一种编程语言都提供强制类型转换,允许你将某一种数据类型转换成另一种数据类型,AS3自然也不例外。強制では、プログラミング言語ごとのコンバージョン使うことにより、特定の種類のデータに変換されることを別の種類のデータ型、 as3例外ではない。 但是虽然我编写了不少Flex程序,对AS3中的强制类型转换还是不太清楚,以前AS中是这样进行强制类型转换的:假设有一个类叫做Class1,我们声明了一个它的对象c1,如果想要将它转换成Class2类型,只要这样写:しかし、私準備して多くのFlexの手続き、または強制転換as3は、非常に明確ではない、前のように、このタイプの強制転換:と仮定して作成カテゴリと呼ばれるには、 Class1に、我々は声明のターゲットC1をすれクラスのタイプに変換すること望む限り、読み:
Class2(c1);クラス( C1 )が;
在AS3中你依然可以这样写,但是AS3 中提供了一个新的操作符: as ,并且推荐使用as 进行强制转换,上述的例子用as 操作符实现就是这样:このようにすることができます。 as3まだ書き込み、しかし、 new演算子を提供するas3 :として、および推奨として強制転換は、上の例で使用されては、この演算子を実現する:
c1 as Class2; c1としてクラス;
使用as 操作符有几个好处:演算子として使用するには、いくつかの利点:
1.它的效果和第一种方法是一样的。 1 。 'の有効性、そして、その最初のアプローチは同じです。
2.如果类型不兼容无法转换,就会返回null,而不是出错。 2 。の場合、互換性のタイプではないに変換することはできません、それはnullを返します、および特定のエラーが発生します。 这样你就可以自定义错误的时候该做什么。間違って時間をカスタマイズすることができますので、これを行うにします。
3.没有运行时错误(Run Time Error)提示。 3 。が実行されては、間違っている(実行時にエラーが発生)のヒントです。
不过有些时候我在使用as 的时候并不能达到强制转换的目的,而使用第一种方法则可以。しかし、時には私の時間とすることはできませんとして使用する目的を達成するために強制変換、およびメソッドを使用することです。 为什么as 操作符有时候会不好用呢?時には演算子を使用しない理由として» 这个问题困扰了我很久,知道昨天在MXNA上发现了一篇日志 ,才恍然大悟:原来在AS3.0类库中最高层类(Top Level classes,所有Top Level classes的列表请看这里 )之间进行强制转换时, as 操作符是不起作用的。私はこの問題に長い時間、それが見つかった昨日、 mxna をログには、前huangrantaiwu : as3.0 、元のクラスライブラリでは、トップカテゴリー(トップレベルのクラスは、すべてのトップレベルのクラスのリスト、ここをクリックします。 )強制転換の間に、演算子は非として機能します。 比如,假如你想要将一个String 类型的字符串str 转换成Number 类型的数字num 时,可能想要这样写:たとえば、したい場合には、タイプの文字列strの文字列をコードの種類のデジタルNUM件、かもしれないを読みたい:
num = str as Number; NUM件= str AS番号;
这样写是没有用的,你只能通过第一种方法来达到强制转换的目的:このように書き込まではないの使用、あなたの最初のメソッドを介してのみの目的を達成するために強制変換:
num = Number(str); NUM件=番号( str ) ;
特别感谢raghuonflex对此做了说明,也希望这些对学习Flex的人有些提示。特別感謝raghuonflexをやっては、これらの人々を学ぶといいFlexのいくつかのヒントをご覧ください。
注:以上技巧我只在Flex 中验证过,本人对Flash一窍不通,不保证也适用于Flash中的AS3.0 。注:上記のスキルの確認には、 Flexただ、私のことは全然知らないフラッシュ、フラッシュにも適用することはありませんがas3.0を保証します。
本文链接: http://www.zhuoqun.net/html/y2007/654.html 转载请注明出处,谢谢。 このリンク: http://www.zhuoqun.net/html/y2007/654.html転載をご参考までに、よろしくお願いします。
TrackBack引用地址: http://www.zhuoqun.net/html/y2007/654.html/trackback トラックバック使用される住所: http://www.zhuoqun.net/html/y2007/654.html/trackback



Flex/Flash的Actionscript文档中,除了Object(value:*)、String(value:*)、Number(value:*)等顶级类强制转换函数有说明外,根本就没有对[i]ClassName[/i](value:*)的说明。フレックス/フラッシュのActionScriptのドキュメントに加えて、オブジェクト(値: * ) 、文字列(値: * ) 、番号(値: * ) 、およびその他の上位カテゴリには必須の変換関数は、権利がない[私]クラス[ /私] (値: * )に注意します。 我找了很久也没找到!私を探してしなかったのに長い時間が見つけ!
to frogcjn: 对啊,那种是AS2.0中的用法,现在推荐使用as 操作符。をfrogcjn :右ああ、 as2.0の利用方法には、演算子としては、今すぐお勧めします。
这个像C#的语法. C #のような構文を使用します。