作者aquarianboy (我是没牌的营养师!)
看板Flash
标题Re: [问题] 请问一个class蠢问题中的蠢问题 Orz
时间Sun Aug 12 00:14:33 2007
※ 引述《fridayjason (I'm not Beloved)》之铭言:
: 可能是今天写了一整天 开始脑残了 Orz
: 我原本是想测试一下flash中对class运算子的支援性
: 所以先写了一个class当测试用 程式码如下:
: //[於_root的图层1写]
: var xx:Test;
: var yy:Test;
: xx.Test(1,2);
: yy.Test(4,8);
: trace(xx.m);
: //[於Test.as中写]
: class Test{
: var n:Number;
: var m:Number;
: public function Test(x:Number,y:Number){
: n=x; m=y;};
: };
: 结果trace的输出结果是"undefined"
: 可以帮忙看一下是哪里的蠢问题吗 谢谢 Orz
你没把Test类别实体化呀 :)
而且利用建构子就可以把资料传进去了
//Test.as
class Test {
var n:Number;
var m:Number;
function Test(x:Number,y:Number) {
n=x;
m=y;
}
}
//Demo.fla
stop();
var xx:Test = new Test(1,2); //实体化,并给予参数
var yy:Test = new Test(4,8); //实体化,并给予参数
trace(xx.m); //得到2
当然,物件若不经由类别实体化
透过静态方法(static method)也是可以直接使用里面的方法
例如Math类别,可以直接的使用Math.abs();
供你参考 :)
PS:上面为AS2的写法,AS3会有些不同
--
http://www.eddie.com.tw/blog/
http://www.eddie.com.tw/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.172.127
1F:推 fridayjason:Orz 原来是少了 = new Test(1,2); 建构子我有写XD 08/12 00:17
2F:→ fridayjason:那麽想再请问一下 如果希望Test类别的.m和.n 08/12 00:18
3F:→ fridayjason:跟另外一个同为Test类别的物件相加 operator overflow 08/12 00:18
4F:→ fridayjason:(overloading)该怎麽宣告呢 @@" 谢谢 m(__ __)m 08/12 00:18
5F:推 aquarianboy:抱歉,看不太懂,不太了解意思 :) 08/12 01:03
6F:推 cjcat2266:AS2.0好像没有operator overloading的功能喔 08/12 01:39
7F:→ cjcat2266:要自己写一个接受两个class的参数(左右operad)的函式 08/12 01:40