作者sayaku0210 (阿邪)
看板Flash
标题[问题] 某书上getter与setter范例的问题
时间Fri Nov 26 03:07:03 2010
某书上getter与setter范例
类别A:
package
{
public class A
{
private var MyString:String="test";
public function get hello():String{
return MyString;
}
public function set hello(S:String):void{
MyString=S;
}
}
}
类别B:
package
{
import flash.display.Sprite;
public class B extends Sprite
{
public function B(){
var foo:A=new A();
trace(foo.hello);
}
}
}
我的问题在於类别B里的var foo:A=new A();
他这边的new A()我有点不懂的是类别A里面没有建构函式,new A()是哪来的??
而类别A没有写建构函式就直接get跟set,这边观念有点模糊= =
请各位高手指导解说!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.125.152.249
1F:推 wind50321:没写跟有写没塞东西一样 A是instance instance是class来 11/26 03:31
2F:→ wind50321:通常建构函式是用来写初始设定 而它只是需要一个A物件来 11/26 03:33
3F:→ wind50321:使用其他function的功能 11/26 03:33
4F:→ sayaku0210:原来如此!感谢您的解惑 11/26 03:37
5F:→ aquarianboy:我其实看不太懂w版友的推文...s版友能帮忙解释一下吗? 11/26 05:16
6F:→ aquarianboy:A明明是一个class,怎麽会变instance呢? 11/26 05:17
7F:→ aquarianboy:在OOP的架构下,子类别没写的功能不代表就不能用,也 11/26 05:18
8F:→ aquarianboy:许它的爸妈有遗传给他,那他就可以直接用 11/26 05:19
9F:→ aquarianboy:另外,有没有建构函式跟getter/setter是两件事 :) 11/26 05:20
10F:推 etrexetrex:A是class foo是instance 11/26 08:07
11F:→ wind50321:嗯 我写错了 我是要说A()是instance 11/26 10:20
12F:→ wind50321:还有我没考虑到遗传的问题 我是认为它只是一个例子 11/26 10:24
13F:→ wind50321:不过遗传应该跟建构函式没写没关系 通常是用外面的功能? 11/26 10:28
14F:→ wind50321:而且A没有extend任何class 11/26 10:29
15F:→ aquarianboy:A即使没有继承自任何class,在编译的时候还是偷偷塞一 11/26 11:44
16F:→ aquarianboy:个类别给它继承 11/26 11:45
17F:→ wind50321:像是Object之类的吗? 11/26 13:33
18F:→ aquarianboy:抱歉正在上班中,晚上回家再来回一篇完整一点的 :) 11/26 15:17
19F:→ sayaku0210:我这篇是拿getter跟setter范例当例子!所以不是要讨论 11/26 16:28
20F:→ sayaku0210:getter与setter! 11/26 16:29
21F:→ sayaku0210:我的问题其实就是W板友说的写不写建构函式的问题!就是 11/26 16:31
22F:→ sayaku0210:没写建构函式等於有写建构函式但没塞东西! 11/26 16:32
23F:→ sayaku0210:我记得class预设都是继承Object 11/26 16:34
24F:→ sayaku0210:感谢W板友与A板友热心的回答!!这方面概念还是没有很熟! 11/26 16:38
25F:→ sayaku0210:忘了还有E板友热心的回答!感谢:) 11/26 16:39